PostMessage 電卓を操作 | 遥かなるひよこ道
postmessageで電卓にキーを送るサンプル


Declare Function FindWindow Lib "User32.dll" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long
Declare Function FindWindowEx Lib "User32.dll" Alias "FindWindowExA" (ByVal hwndParent As Long, ByVal hwndChildAfter As Long, ByVal lpszClass As String, ByVal lpszWindow As String) As Long
Declare Function PostMessage Lib "user32" Alias "PostMessageA" (ByVal hWnd As Long, ByVal wMsg As Long, ByVal wParam As Long, ByVal lParam As Long) As Long
Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)

’仮想キーの宣言
Public Const WM_KEYDOWN As Integer = &H100
Public Const VK_RETURN As Integer = &HD
Public Const VK_1 As Integer = &H31
Public Const VK_ADD As Integer = &H6B

’ハンドルを取得
Function Gethandle() as long
Gethandle = FindWindow("SciCalc", "電卓")
end Function


’キーを送る
sub test()
 '■1キー
   PostMessage hWnd, WM_KEYDOWN, VK_1, 0
   Sleep (300)
   '■+キー
   PostMessage hWnd, WM_KEYDOWN, VK_ADD, 0
   Sleep (300)
   '■1キー
   PostMessage hWnd, WM_KEYDOWN, VK_1, 0
   Sleep (300)
   '■ENTERキー
    PostMessage hWnd, WM_KEYDOWN, VK_RETURN, 0
   Sleep (300)
end sub


PostMessageは対象のウィンドウのキューにメッセージをポストする
キー操作は基本PostMessage

もう一つSendMessageはメッセージの処理結果が重要な場合に使用する

◆参考
ちょくとのページ
ウィンドウメッセージとAPIの一覧が見れる

miniSPY
ハンドルを簡単に取得できるフリーソフト