2017-12-01 22 views
-2

Windows (실행중인 다른 프로그램)에서 다른 응용 프로그램 프로세스를 찾아야합니다. 해당 프로세스가 실행 중일 때 다른 프로그램에있는 버튼을 클릭해야합니다. 그 메커니즘은 C#에서 만들어야합니다. 콘솔 응용 프로그램을 사용할 수 있습니다.다른 프로세스를 찾고 사용자 인터페이스 C를 클릭하십시오.

어떤 라이브러리가 가능합니까? 예를 찾고 계십니까?

+1

http://idownvotedbecau.se/noattempt/ -을 제외하고 당신이 요구하는 무엇을 나에게 분명되는 것을, 나 또한 초등학교 이해하기 – pstrjds

+0

등, 당신은 이미 당신이 붙어있는 곳, 시도 것을 확실하지 않다 내가 C# 용 예제 또는 라이브러리를 찾고 있는데 –

답변

1

따라서 Process.GetProcesses()을 호출하여 프로세스 목록을 가져올 수 있습니다. Process 개체에는 해당 프로세스의 MainWindowHandle 속성이 있습니다. 이를 통해 마우스 클릭을 프로세스에 보낼 수 있어야합니다. SendMessage 메서드를 사용하여 마우스를 아래쪽으로 보내고 마우스를 위로 올려 보낼 수 있습니다. 두 번째 매개 변수 (lParam)는 클릭하려는 좌표를 보내는 곳입니다. 당신이 좌표 25 클릭 할 경우, (100)는 다음과 같은 비트 이동과 좌표를 결합하는 것입니다 그래서 :

int y = 100; 
int x = 25; 
var coords = (y << 16) | x; 

그리고 다음과 같이 호출 (HWND는 프로세스에 대한 창 핸들입니다) :

SendMessage(hwnd, WM_LBUTTONDOWN, 0, coords); 
SendMessage(hwnd, WM_LBUTTONDOWN, 0, coords); 

[DllImport("User32.dll")] 
public static extern Int32 SendMessage(
     int hWnd,    // handle to destination window 
     int Msg,    // message 
     int wParam,    // first message parameter 
     int lParam);   // second message parameter 


public const int WM_LBUTTONDOWN = 0x201; 
public const int WM_LBUTTONUP = 0x202; 
+0

예. 이것이 내가 필요한거야. –