如何列举当前桌面上运行的所有可见窗口?注意,是可见窗口,不是所有窗口 如何列举当前桌面上运行的所有可见窗口?注意,是可见窗口,不是所有窗口 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 获得每一个窗口后判断该窗口是否有WS_VISIBLE风格...if(GetWindowLong(hwnd,GWL_STYLE) & WS_VISIBLE){ //该窗口是可见的; //做爱做的事...} 我想思路应该是这样,首先罗列出所有窗口,然后对每一个窗口的可见性进行检查(不能凭WS_VISIBLE来判定,因为这样的话,那如果在程序中调用了ShowWindow(SW_HIDE)就会出问题)源程序正在写 HWND hWnd=::GetWindow(::GetDesktopWindow(),GW_CHILD); while (hWnd){ // 处理排除不可见窗口 hWnd=::GetWindow(::GetWindow(hWnd,GW_HWNDNEXT)); }另外,EnumWindow()也可以。我没用过,谁来讲讲吧 ShowWindow(SW_HIDE)就会出问题????????为什么???调用这个API后WS_VISIBLE就去掉了...除了这样做还有别的方法??????? 如果你知道窗口名,不如用FindWindow. 在枚举窗口的过程中再加一些条件进行判断BOOL CALLBACK MyEnumWindowsProc(HWND hwnd, LPARAM lParam){ if(IsWindowVisible(hwnd)&&!GetParent(hwnd))//窗口可见并且没用父窗口 { ...... }} http://www.codeproject.com/threads/enumprocess.asphttp://www.codeproject.com/tools/minispy.asp 求MFC模拟时钟 问一个很菜的问题. 在BOOL CIcqDlg::PreTranslateMessage(MSG* pMsg) 怎样过滤某个控件? 我完蛋了,对话框上所有的控件都不能选择,不能添加新控件,新对话框也是这样,怎么办? 新手学NEHE OpenGL问题请教 客户要做图书模板编辑软件,不知道怎么实现.开贴求助. 信誉分要如何加啊? QQ出现很奇怪的情况,可能是中了木马!大家给点意见! OUTLOOK.EXE加载不了dll文件 mysql_commit 在VC++中怎么不认识 请问如何设置static text框的前景和背景颜色? 奇怪,为什么所有的控件都不能用了!!
if(GetWindowLong(hwnd,GWL_STYLE) & WS_VISIBLE)
{
//该窗口是可见的;
//做爱做的事...
}
首先罗列出所有窗口,
然后对每一个窗口的可见性进行检查(不能凭WS_VISIBLE来判定,因为这样的话,那如果在程序中调用了ShowWindow(SW_HIDE)就会出问题)
源程序正在写
while (hWnd)
{
// 处理排除不可见窗口
hWnd=::GetWindow(::GetWindow(hWnd,GW_HWNDNEXT));
}
另外,EnumWindow()也可以。我没用过,谁来讲讲吧
为什么???调用这个API后WS_VISIBLE就去掉了...
除了这样做还有别的方法???????
BOOL CALLBACK MyEnumWindowsProc(HWND hwnd, LPARAM lParam)
{
if(IsWindowVisible(hwnd)&&!GetParent(hwnd))//窗口可见并且没用父窗口
{
......
}
}
http://www.codeproject.com/tools/minispy.asp