2017-12-01 13 views
-2

Windows(実行中の別のプログラム)で別のアプリケーションプロセスを探す必要があります。そのプロセスが実行されているとき、その別のプログラムにあるボタンをクリックする必要があります。私はC#で作成する必要があるそのメカニズム。コンソールアプリケーションを使用できます。別のプロセスを見つけてユーザーインターフェイスCをクリックしてください。

どのライブラリで使用できますか?例をお探しですか?

+1

http://idownvotedbecau.se/noattempt/ - 別にあなたが求めているものを私には不明であることから、私も小学校が理解し – pstrjds

+0

など、あなたはすでにあなたが立ち往生している場合は、試してみましたが何かわかりませんC#のサンプルまたはライブラリを探しているもの –

答えて

1

したがって、Process.GetProcesses()を呼び出してプロセスのリストを取得できます。 Processオブジェクトには、プロセスのMainWindowHandleのプロパティがあります。これで、マウスクリックをプロセスに送信できるはずです。 SendMessageメソッドを使用すると、マウスを下に押してマウスを上に移動することができます。 2番目のパラメータ(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

はい。これは私が必要なものです –

関連する問題