2009-07-27 3 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

는이 코드가 작동해야하는 이유를 잘 모르겠어요 - 당신이 그냥 특정 버튼, 창을 클릭하고 보인다.
는 다른 API 함수를 사용할 수있는 창을 최소화하려면 : SetWindowPlacement을 은 다음을 참조하십시오 http://www.codeproject.com/KB/dialog/Minimizewindow.aspx

또 다른 생각 : 당신이 해키 솔루션을 원하는 경우에 당신이 키에게 창을 최소화하기 위해 Alt 키 + 공간N을 보낼 수 있습니다 하지만 이것은 매우 해킹되어 영어 컴퓨터에서만 작동합니다.

SendKeys ("% n") ''//in vb6 
SendKeys.Send("% n") ''//in vb.net 
관련 문제