2009-07-27 6 views
2

はHERESに私のコード:最小化されたウィンドウにマウスクリックを送る方法?動作しません

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

Private Declare Function FindWindow Lib "user32.dll" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Integer 
Private 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 

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

PostMessage(wHandle, MOUSEEVENTF_LEFTDOWN, 0, 0) 
PostMessage(wHandle, MOUSEEVENTF_LEFTUP, 0, 0) 
+0

FindWindowと組み合わせてSetForeGroundWindow APIを使用します – user959631

答えて

0

私はこのコードは動作するはずです理由はわからない - あなただけのウィンドウ上ではなく、特定のボタンをクリックしているようです。 、 参照SetWindowPlacementhttp://www.codeproject.com/KB/dialog/Minimizewindow.aspx

もう一つのアイデア:あなたがハックソリューションをしたい場合は、ウィンドウを最小化するためのキーAltキー + スペースNを送ることができますが、あなたが他のAPI関数を使用することができますウィンドウを最小化するために
これは非常にハッキーで、英語のマシンでしか動作しません。

SendKeys ("% n") ''//in vb6 
SendKeys.Send("% n") ''//in vb.net 
関連する問題