EnumDesktopWindows 函数
我想用 EnumDesktopWindows 函数来取另外一个桌面上的 所有类
我忘记在 回函数返回 什么了!
我记得的是有的跟 CallWindowProc 函数类似的函数
麻烦那位大哥告诉我了..谢谢..!
下面是 PureBasic 写的代码
Procedure EnumWindowsProc(hwnd,lParam)
cn.s=Space(#MAX_PATH)
GetClassName_(hwnd,cn,#MAX_PATH-1)
Debug cn
ProcedureReturn // 这个位置我记得好象有个跟 CallWindowProc 函数类似的函数
EndProcedure
hDesktop.l = OpenDesktop_( "桌面名称 ",0,#False,511)
If hDesktop > 0
EnumDesktopWindows_(hDesktop,@EnumWindowsProc(),0)
EndIf
CloseDesktop_(hDesktop)
[解决办法]
EnumWindowsProc 函数
函数功能描述:用在EnumWindows或EnumDesktopWindows中作为回调函数
1.函数原形
BOOL CALLBACK EnumWindowsProc(HWND hwnd,LPARAM lParam);
2.参数
HWND hwnd:窗口句柄
LPARAM lParam:用户自定义的数据,在调用EnumWindows或EnumDesktopWindows时传递的参数
3.返回值
如果要继续Enum那么返回TRUE,否则返回FALSE
4.示例代码
下面代码获取所有窗口的句柄,并保存到向量里
std::vector <HWND> g_AllWindow;
BOOL CALLBACK EnumWindowsProc(HWND hwnd,LPARAM lParam)
{ return g_AllWindow.push_back(hwnd),TRUE; } //Enum所有窗口,所以总返回TRUE
void GetAllWindow()
{
EnumWindows(&EnumWindowProc,0);
}