gpt4 book ai didi

c++ - 如何阻止 EnumWindows 无限运行 win32

转载 作者:可可西里 更新时间:2023-11-01 14:39:22 27 4
gpt4 key购买 nike

代码一直有效。我设法让 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;
}

关于c++ - 如何阻止 EnumWindows 无限运行 win32,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/797967/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com