2009-07-27 27 views
0

を働いていない私はこのコードを持っている:のSendMessageたMouseEventは

Private Const MOUSEEVENTF_LEFTDOWN = &H2 
Private Const MOUSEEVENTF_LEFTUP = &H4 

Dim WindowHandle As Long = FindWindow(vbNullString, "Ultima Online") 

SendMessage(WindowHandle, MOUSEEVENTF_LEFTDOWN, 0, 0) 
SendMessage(WindowHandle, MOUSEEVENTF_LEFTUP, 0, 0) 

を私はwindowhandle = 0

問題がある場合はメッセージボックスをポップアップ表示、条件付きなステートメントを作ったので、それは、windowhandle罰金を取得している知っていますマウスクリックをウィンドウに送信していないことを確認します。

答えて

0

あなたはSendMessage関数に異なる定数を使用する必要があります:あなたはまた、0,0の座標を送信している

Private Const WM_LBUTTONDOWN = &H201 
Private Const WM_LBUTTONUP = &H202 

Dim WindowHandle As Long = FindWindow(vbNullString, "Ultima Online") 

SendMessage(WindowHandle, WM_LBUTTONDOWN, 0, 0) 
SendMessage(WindowHandle, WM_LBUTTONUP, 0, 0) 

お知らせ - しかし、私は、これは罰金であると仮定します。現在使用している

PSThese定数はもう少し低レベルであるMOUSE_EVENT機能のためのものである:まだ働いていない

Private Const MOUSEEVENTF_LEFTDOWN = &H2 
Private Const MOUSEEVENTF_LEFTUP = &H4 
Private Declare Sub mouse_event Lib "user32" (ByVal dwFlags As Long, ByVal dx As Long, ByVal dy As Long, ByVal cButtons As Long, ByVal dwExtraInfo As Long) 

mouse_event MOUSEEVENTF_LEFTDOWN, 0, 0, 0, 0 
mouse_event MOUSEEVENTF_LEFTUP, 0, 0, 0, 0 
+0

その、私は「ウルティマオンライン」アクティブなウィンドウまたは何かをしなければなりません? –

関連する問題