s58*_*804 3 c++ windows winapi
代码一直在运作.不知怎的,我设法让Visual C++ Express没有达到最终return语句的断点,它似乎永远运行.
在下面的示例代码中,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;
}
Run Code Online (Sandbox Code Playgroud)
小智 8
一旦我删除了宽字符并添加#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;
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
6381 次 |
| 最近记录: |