35

プロセスの特定の PID を取得する際に問題があります。このプロセスの問題は、それが非表示のプロセスであり、タスク マネージャー/powershell に表示されず、完全に非表示になっていることです。

私がこれまで行ってきたのは、このプロセスのメイン ウィンドウ ハンドルです。問題は、どうすれば pid を取得できるかということです。

私がやろうとしているのは、このプロセスのメモリを読み取って編集することですが、私が推測する PID なしでは実行できません (メモリ内のベースアドレスを取得する必要があるため)。

だから、誰かが私のために何か回避策や何かを持っていれば、それは素晴らしいことです.

PS: このプロセスは Process.GetProcesses() には表示されません。

ティ!

4

2 に答える 2

9

Windows API で P/invoke を使用する必要があります。

次のようにクラスで関数を宣言します

 [DllImport("User32.dll")]
 static extern uint GetWindowThreadProcessId(IntPtr hWnd, out uint lpdwProcessId);

そしてそれをあなたのクラスで呼び出します。

PInvokeを参照してください。

于 2013-08-12T10:30:19.290 に答える