我有一個進程獲取特定PID的問題, 這個進程的問題在於它是一個隱藏進程,它不顯示在任務管理器/ PowerShell中,完全隱藏。通過窗口句柄查找進程ID
我所做的遠遠是這個過程的主窗口句柄,問題是,我怎樣才能得到它的pid。我想要做的是讀取此過程的內存並編輯它,但不能這樣做沒有PID我猜(因爲我需要得到它的基地址在內存中)。
因此,如果任何人有任何解決方法或對我來說,這將是偉大的。
P.S:此進程不會顯示在Process.GetProcesses()中。
ty!
我有一個進程獲取特定PID的問題, 這個進程的問題在於它是一個隱藏進程,它不顯示在任務管理器/ PowerShell中,完全隱藏。通過窗口句柄查找進程ID
我所做的遠遠是這個過程的主窗口句柄,問題是,我怎樣才能得到它的pid。我想要做的是讀取此過程的內存並編輯它,但不能這樣做沒有PID我猜(因爲我需要得到它的基地址在內存中)。
因此,如果任何人有任何解決方法或對我來說,這將是偉大的。
P.S:此進程不會顯示在Process.GetProcesses()中。
ty!
您可以使用下面的Windows API:
[DllImport("user32.dll", SetLastError=true)]
static extern uint GetWindowThreadProcessId(IntPtr hWnd, out uint processId);
您傳遞的HWND,並使用out參數返回的PID。
你可以閱讀更多關於這個功能在這裏MSDN - http://msdn.microsoft.com/en-us/library/windows/desktop/ms633522(v=vs.85).aspx
感謝很多伴侶,像一個魅力:) –
您將需要使用P /與Windows API調用。
聲明一個函數在您的類像
[DllImport("User32.dll")]
static extern uint GetWindowThreadProcessId(IntPtr hWnd, out uint lpdwProcessId);
,然後把它在你的類。
請參閱PInvoke。
從pinvoke.net得到它,但你是對的! –
這一個實際上返回0,不爲我工作,但感謝您的迴應。 –
你需要進程ID ...嗎? – Aravind