求VC高手 获取当前进程的主窗口句柄
我向某进程注入了一个DLL这个DLL是SDK写的怎么在DLL里获取当前进程的主窗口句柄呢?跪求高手解答精简点:我向某进程注入了一个DLL我想在这个DLL里获取这个进程的主...
我向某进程注入了一个DLL
这个DLL是SDK写的
怎么在DLL里获取当前进程的主窗口句柄呢?
跪求高手解答
精简点:
我向某进程注入了一个DLL
我想在这个DLL里获取这个进程的主窗口句柄 展开
这个DLL是SDK写的
怎么在DLL里获取当前进程的主窗口句柄呢?
跪求高手解答
精简点:
我向某进程注入了一个DLL
我想在这个DLL里获取这个进程的主窗口句柄 展开
1个回答
展开全部
调用EnumWindows(EnumWindowsProc,0);
自己定义
BOOL CALLBACK EnumWindowsProc(
HWND hwnd, // handle to parent window
LPARAM lParam // application-defined value
){
DWORD PID;
BOOL Result=TRUE;
GetWindowThreadProcessId(hwnd,PID);
if (PID=GetCurrentProcessId())
{
g_hwin = hwnd;//这个g_hwin在你的DLL里定义为一个全局的HWND,也是你想要的句柄
Result = FALSE;
}
return Result;
}
lz可以试试.当然如果知道被注入的进程的窗口名称就不用enumwindow了,直接用FindWindow(NULL, _T("XXXXXX"))的返回值得一个hwnd,然后得到进程id,再判断
自己定义
BOOL CALLBACK EnumWindowsProc(
HWND hwnd, // handle to parent window
LPARAM lParam // application-defined value
){
DWORD PID;
BOOL Result=TRUE;
GetWindowThreadProcessId(hwnd,PID);
if (PID=GetCurrentProcessId())
{
g_hwin = hwnd;//这个g_hwin在你的DLL里定义为一个全局的HWND,也是你想要的句柄
Result = FALSE;
}
return Result;
}
lz可以试试.当然如果知道被注入的进程的窗口名称就不用enumwindow了,直接用FindWindow(NULL, _T("XXXXXX"))的返回值得一个hwnd,然后得到进程id,再判断
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询