该代码一直有效。不知何故,我设法让 Visual C++ Express 不会在最终返回语句上遇到断点,并且它似乎会永远运行。
在下面的示例代码中,EnumWindows 无限枚举。
在枚举完所有窗口后,如何才能使其停止。
#include <Windows.h>
BOOL CALLBACK EnumWindowsProc(HWND hWnd, long lParam) {
TCHAR buff[255];
if (IsWindowVisible(hWnd)) {
GetWindowText(hWnd, (LPWSTR) buff, 254);
printf("%S\n", buff);
}
return TRUE;
}
int _tmain(int argc, _TCHAR* argv[]) {
EnumWindows(EnumWindowsProc, 0);
return 0;
}
一旦我删除了宽字符内容并添加了,您的代码对我有用#include <stdio.h>
获取 printf() 声明。它在您的系统上产生什么输出?
对我有用的代码是:
#include <windows.h>
#include <stdio.h>
BOOL CALLBACK EnumWindowsProc(HWND hWnd, LPARAM lParam) {
char buff[255];
if (IsWindowVisible(hWnd)) {
GetWindowText(hWnd, (LPSTR) buff, 254);
printf("%s\n", buff);
}
return TRUE;
}
int main() {
EnumWindows(EnumWindowsProc, 0);
return 0;
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)