FindWindow查找窗口,是不是只能查找父窗口? 比如,一个窗口的客户区有一按钮,然后通过FindWindow查找这个按钮通常都是返回NULL,为什么? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 我写了一下代码,本来是想把所有窗口最小化,但是结果让我不太明白,能不能一起解释一下?#include <windows.h>BOOL CALLBACK EnumProc( HWND hwnd, // handle to parent window LPARAM lParam // application-defined value){ ShowWindow(hwnd,SW_MINIMIZE); return TRUE;}int WINAPI WinMain( HINSTANCE hInstance, // handle to current instance HINSTANCE hPrevInstance, // handle to previous instance LPSTR lpCmdLine, // pointer to command line int nCmdShow // show state of window){ if(!EnumWindows(EnumProc,NULL)) return -1; return 0;} FindWindow找窗口FindWindowEx找这个窗口下面的按钮(其他控件) HWND hh=::FindWindow(NULL,L"TestDialog"); HWND hbtn=::FindWindowEx(hh,NULL,NULL,_T("YES")); ::PostMessage(hbtn,WM_LBUTTONDOWN, 0,0); ::PostMessage(hbtn,WM_LBUTTONUP, 0,0); BOOL CALLBACK EnumWindowsProc(HWND hwnd/*当前找到的窗口句柄*/, LPARAM lParam/*自定义参数*/){if(hwnd==NULL) { return false; //结束枚举 } ShowWindow(hwnd,SW_MINIMIZE); return TRUE; } 一个循环里面套个GetWindow就行了 楼主弄错了一个问题,当前系统内的顶层窗口有很多个的,有一部分窗口是不显示的,结果你用EnumWindows将它们全找到了,另外还用ShowWindow将它们最小化,有些窗口在设计时本身就是不可见的,结果系统就乱了,只要加一句IsWindowVisible就行了.改成下面的样子:BOOL CALLBACK EnumProc( HWND hwnd, // handle to parent window LPARAM lParam // application-defined value ) { if(::IsWindowVisible(hwnd)) ShowWindow(hwnd,SW_MINIMIZE); return TRUE; } 通过一个程序控制另外一个程序 关于两个视图打开图片的问题 谁会给CListCtrl控件贴张图啊??? 付酬,关于IP地址欺骗的问题,高手请进 snmp++中如何来获取Response Pdu包啊?谢谢 ocx控件连接数据库 vc中tab control控件求教 请问UNIX下的.z压缩文件是什么压缩算法? CTypedPtrArray<CObArray,CLine*>m_LineArray; 这语句应该怎么理解? 大家帮忙看看,我这段程序的错误好怪! 关于调用USB驱动的DLL函数出错 怎样给对话框添加背景图?
HWND hwnd, // handle to parent window
LPARAM lParam // application-defined value
)
{
ShowWindow(hwnd,SW_MINIMIZE);
return TRUE;
}int WINAPI WinMain(
HINSTANCE hInstance, // handle to current instance
HINSTANCE hPrevInstance, // handle to previous instance
LPSTR lpCmdLine, // pointer to command line
int nCmdShow // show state of window
)
{
if(!EnumWindows(EnumProc,NULL))
return -1;
return 0;
}
FindWindowEx找这个窗口下面的按钮(其他控件)
HWND hh=::FindWindow(NULL,L"TestDialog");
HWND hbtn=::FindWindowEx(hh,NULL,NULL,_T("YES"));
::PostMessage(hbtn,WM_LBUTTONDOWN, 0,0);
::PostMessage(hbtn,WM_LBUTTONUP, 0,0);
BOOL CALLBACK EnumWindowsProc(HWND hwnd/*当前找到的窗口句柄*/, LPARAM lParam/*自定义参数*/)
{
if(hwnd==NULL)
{ return false; //结束枚举
} ShowWindow(hwnd,SW_MINIMIZE);
return TRUE;
}
BOOL CALLBACK EnumProc(
HWND hwnd, // handle to parent window
LPARAM lParam // application-defined value
)
{ if(::IsWindowVisible(hwnd))
ShowWindow(hwnd,SW_MINIMIZE);
return TRUE;
}