根据类名和标题直接找到子窗口的句柄的API
我想知道一下有没有这样的API根据类名和标题直接找到子窗口的句柄的API因为我要找的一个子窗口在父窗口里,但是遍历了所有的子窗口信息一一对比却找不到这个窗口句柄,所以无奈...
我想知道一下 有没有这样的 API
根据类名和标题直接找到子窗口的句柄的API
因为我要找的一个子窗口 在父窗口里,但是遍历了所有的子窗口信息一一对比却找不到这个窗口句柄,所以无奈求助有没有这样的函数,根据名称或者类名直接得到子句柄函数的API? 展开
根据类名和标题直接找到子窗口的句柄的API
因为我要找的一个子窗口 在父窗口里,但是遍历了所有的子窗口信息一一对比却找不到这个窗口句柄,所以无奈求助有没有这样的函数,根据名称或者类名直接得到子句柄函数的API? 展开
1个回答
展开全部
新年快乐,写外挂呢?我想,这是你要的解决方案,有空交流交流,在下QQ:2465690 请笑纳 (^_^)
//得到自己进程内的子窗体
HWND GetMyHwnd()
{
HWND hwnd = FindWindow(类名,窗体标题);
DWORD pid = 0;
GetWindowThreadProcessId(hwnd,&pid);
DWORD thisid = GetCurrentProcessId();
if(thisid!=pid)
{
do
{
hwnd = GetWindow(hwnd,GW_HWNDNEXT);
GetWindowThreadProcessId(hwnd,&pid);
char mytext[MAX_PATH];
GetWindowText(hwnd,mytext,MAX_PATH);
if(strcmp(mytext,窗体标题)!=0)
continue;
}while(thisid!=pid);
}
return hwnd;
}
如果是其他进程内寻找子窗体 则使用:
HWND GetMyHwnd(DWORD thisid)
{
HWND hwnd = FindWindow(类名,窗体标题);
DWORD pid = 0;
GetWindowThreadProcessId(hwnd,&pid);
if(thisid!=pid)
{
do
{
hwnd = GetWindow(hwnd,GW_HWNDNEXT);
GetWindowThreadProcessId(hwnd,&pid);
char mytext[MAX_PATH];
GetWindowText(hwnd,mytext,MAX_PATH);
if(strcmp(mytext,窗体标题)!=0)
continue;
}while(thisid!=pid);
}
return hwnd;
}
//得到自己进程内的子窗体
HWND GetMyHwnd()
{
HWND hwnd = FindWindow(类名,窗体标题);
DWORD pid = 0;
GetWindowThreadProcessId(hwnd,&pid);
DWORD thisid = GetCurrentProcessId();
if(thisid!=pid)
{
do
{
hwnd = GetWindow(hwnd,GW_HWNDNEXT);
GetWindowThreadProcessId(hwnd,&pid);
char mytext[MAX_PATH];
GetWindowText(hwnd,mytext,MAX_PATH);
if(strcmp(mytext,窗体标题)!=0)
continue;
}while(thisid!=pid);
}
return hwnd;
}
如果是其他进程内寻找子窗体 则使用:
HWND GetMyHwnd(DWORD thisid)
{
HWND hwnd = FindWindow(类名,窗体标题);
DWORD pid = 0;
GetWindowThreadProcessId(hwnd,&pid);
if(thisid!=pid)
{
do
{
hwnd = GetWindow(hwnd,GW_HWNDNEXT);
GetWindowThreadProcessId(hwnd,&pid);
char mytext[MAX_PATH];
GetWindowText(hwnd,mytext,MAX_PATH);
if(strcmp(mytext,窗体标题)!=0)
continue;
}while(thisid!=pid);
}
return hwnd;
}
追问
还想问下一下 就是有些 内存偏移 是用基址+偏移 有些是模块加偏移 为什么会出现这2种呢?
这里的模块 是相当于 一级内存吗?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询