tagCANDY CGI VBレスキュー(花ちゃん) の Visual Basic 2010 用 掲示板(VB.NET 掲示板)
VBレスキュー(花ちゃん) の Visual Basic 2010 用 掲示板(VB.NET 掲示板)
[ツリー表示へ]  [ワード検索]  [Home]

タイトル Re^4: 残念ながら・・・
投稿日: 2006/02/26(Sun) 21:55
投稿者YAS
まず,keybd_eventの例です。(VB2005です)

FD55.COMをダブルクリックして起動しておきます。
タスクマネージャでntvdn.exeのプロセスIDを調べておきます。

フォームにButtonコントロールを1つ配置します。
下のコードを貼り付けます。
ntvdn.exeのプロセスIDにAppActivate関数の引数を書き換えます。
実行して,フォームのButtonコントロールをクリックします。
「FDを終了しますか?」とFDがメッセージを表示します。

Imports System.Runtime.InteropServices
Imports System.Threading.Thread

Public Class Form1

    Private Sub Button1_Click(ByVal sender As System.Object, _
                              ByVal e As System.EventArgs) Handles Button1.Click
        AppActivate(10752) 'タスクマネージャを見て,プロセスID(PID)を入れる
        Sleep(100)
        KeyBoardEvent.Send(bVk.VK_ESCAPE)
    End Sub

End Class

Public Class KeyBoardEvent

    Private Const KEYEVENTF_KEYUP As Integer = &H2

    <DllImport("user32.dll")> Public Shared Sub keybd_event( _
        ByVal bVk As Byte, ByVal bScan As Byte, _
        ByVal dwFlags As Integer, ByVal dwExtraInfo As Integer)
    End Sub

    <DllImport("user32.dll")> Public Shared Function MapVirtualKey( _
        ByVal wCode As Integer, _
        ByVal wMapType As Integer) _
        As Integer
    End Function

    Public Shared Sub Send(ByVal bVk As Byte)
        Call keybd_event(bVk, MapVirtualKey(CInt(bVk), 0), _
                         ExtendedKeyFlag(bVk) Or 0, 0)
        Call keybd_event(bVk, MapVirtualKey(CInt(bVk), 0), _
                         ExtendedKeyFlag(bVk) Or
KEYEVENTF_KEYUP, 0)
    End Sub

    Private Shared Function ExtendedKeyFlag(ByVal Key As Byte) As Byte
        Return 0 'ExtendedKeyの処理を省略しています(矢印キーはExtendedKeyなので注意)
    End Function

End Class

Public Enum bVk As Byte
    VK_ESCAPE = &H1B 'ESC key
    VK_X = &H58 'X key
    VK_C = &H43 'C key
    VK_D = &H44 'D key
    VK_R = &H52 'R key
    VK_S = &H53 'S key
    VK_F = &H46 'F key
    VK_T = &H54 'T key
    VK_L = &H4C 'L key
    VK_U = &H55 'U key
End Enum

- 関連一覧ツリー をクリックするとツリー全体を一括表示します)

古いスレッドにレスはつけられません。