我有一个进程获取特定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