請參閱以下代碼。爲什麼IsWindowVisible使EnumDesktopWindows的回調只運行一次?
MyEnumProc只運行一次以下代碼。但是如果我將IsWindowVisible(wnd)註釋掉了,它會運行很多次。
爲什麼IsWindowVisible會發生這種情況(只運行一次)?我認爲IsWindowVisible只是一個函數來檢查wnd的屬性? test.c的的
代碼:
#include <windows.h>
#include <stdio.h>
BOOL CALLBACK MyEnumProc(HWND wnd, LPARAM lParam)
{
printf("run\n");
IsWindowVisible(wnd);
}
int main(void)
{
EnumDesktopWindows(NULL, MyEnumProc, 0);
printf("end\n");
return 0;
}
我的環境是:
的Windows XP SP3。
GCC 3.4.6(MinGW的)
編譯選項:gcc的-o test.exe的test.c的
我做了編譯並運行CMD.EXE的TEST.EXE。
我知道你是新來的,但請記住接受你的答案! – 2011-03-09 20:35:13