0
是否可以找出MessageBox属于哪个进程?如果是,如何?检测MessageBox属于哪个进程
是否可以找出MessageBox属于哪个进程?如果是,如何?检测MessageBox属于哪个进程
您想使用GetWindowThreadProcessId
。这是一个例子。
#include <windows.h>
static const TCHAR g_cszClass = TEXT("#32770"); // dialog box class
// returned handle must be closed with CloseHandle() when no longer used
HANDLE GetMessageBoxProcess(__in_z LPCTSTR lpcszTitle, __in DWORD dwAccess)
{
HWND hWnd;
DWORD dwProcessId = 0;
HANDLE hRET;
hWnd = FindWindow(g_cszClass, lpcszTitle);
if (hWnd != NULL)
{
GetWindowThreadProcessId(hWnd, &dwProcessId);
if (dwProcessId != 0)
hRET = OpenProcess(dwAccess, FALSE, dwProcessId);
}
return hRET;
}
不确定为什么你想要这个过程。我能想到的原因:所有这些
具有优异&更优化的替代解决方案。
另一个答案给出了编程解决方案。如果这是一次性调试,您可以使用Spy ++选择窗口,从属性窗口获取进程ID,然后在任务管理器中查找进程。
GetWindowThreadProcessId会告诉你,但我想知道为什么你需要知道这一点。你不应该搞乱另一个进程的窗口。 (如果有人与*你的窗口搞混了,你不会喜欢它。) –
你的场景是什么?这是用于测试还是用于逆向工程? –