各位老师,c语言中遍历获取已知父窗口下所有子窗口句柄
各位老师,c语言中遍历获取已知父窗口下所有子窗口句柄出错,该如何改呢?谢谢了,源码如下:#include <Windows.h>
#include <iostream>
#include <string.h>
using namespace std;
int main()
{
HWND hd = FindWindow(NULL, "窗口5.0"); //得到父窗口
hd = GetWindow(hd, GW_CHILD); //得到父窗口上第一个子窗口
char s = { 0 };
int num = 1;
while (hd != NULL) //循环得到所有的子窗口
{
memset(s, 0, 200);
GetWindowText(hd, s, 200);
cout << num++ << ": " << s << endl;
hd = GetNextWindow(hd, GW_HWNDNEXT);
}
getchar();
return 0;
} 出错如下图 本帖最后由 zhiwoda 于 2022-2-27 20:48 编辑
HWND hWnd = NULL;
hWnd = ::FindWindow(_T("XXX"), NULL);
if (hWnd)
{
HWND hChild = ::GetWindow(hWnd, GW_CHILD);
while (hChild)
{
char* buf1 = new char;
::GetWindowsText(hChild, buf1, 512);
CString str1 = buf1;
hChild = ::GetWindow(hChild, GW_HWNDNEXT);
}
} zhiwoda 发表于 2022-2-27 20:45
HWND hWnd = NULL;
hWnd = ::FindWindow(_T("XXX"), NULL);
谢谢老师,不过出错了 jtwc 发表于 2022-2-27 21:05
谢谢老师,不过出错了
你用的vs201几 zhiwoda 发表于 2022-2-27 21:06
你用的vs201几
老师,2015,谢谢了 本帖最后由 jtwc 于 2022-2-27 21:39 编辑
zhiwoda 发表于 2022-2-27 21:06
你用的vs201几
老师,改了一下,不报错了,但没有显示
#include <windows.h>
#include <iostream>
#include <iomanip>
#include <fstream>
#include <sstream>
#include <stdio.h>
#include <tchar.h>
#include <string.h>
using namespace std;
int main()
{
HWND hWnd = NULL;
hWnd = ::FindWindow(_T("窗口5.0"), NULL);
if (hWnd)
{
HWND hChild = ::GetWindow(hWnd, GW_CHILD);
while (hChild)
{
// char* buf1 = new char;
char buf1 = { 0 };
int num = 1;
memset(buf1, 0, 512);
::GetWindowText(hChild, buf1, 512);
cout << num++ << ": " << buf1 << endl;
// CString str1 = buf1;
hChild = ::GetNextWindow(hChild, GW_HWNDNEXT);
}
}
getchar();
return 0;
} jtwc 发表于 2022-2-27 21:09
老师,2015,谢谢了
#include <iostream>
#include <Windows.h>
#include <locale>
using namespace std;
int main()
{
HWND hWnd = ::FindWindow(NULL, L"XXXX");
if (hWnd)
{
HWND hChild = ::GetWindow(hWnd, GW_CHILD);
while (hChild)
{
char* buf = new char;
::GetWindowText(hChild, LPWSTR(buf), 512);
hChild = ::GetWindow(hChild, GW_HWNDNEXT);
setlocale(LC_ALL, "chs");
wprintf(L"buf = %s\n", buf);
}
}
else
{
printf("Hello,World!\n");
}
system("pause");
return 0;
} zhiwoda 发表于 2022-2-27 21:40
#include
#include
#include
谢谢老师,不过显示和我写的一样 jtwc 发表于 2022-2-27 21:50
谢谢老师,不过显示和我写的一样
有的是duilib写 的窗体,常规手段捕获不到,要用到钩子hook等手段
页:
[1]
2