一、原理
其原理是利用GetWindowLong(hWnd,GWL_STYLE)& WS_VISIBLE对打开的窗口进行查找,并将窗口的句柄存放在一个HWND的数组中,结合EnumWindows进行窗口的枚举,从而得到响应的窗口名称;
二、主要函数介绍:
BOOL EnumWindows(
WNDENUMPROC lpEnumFunc, // callback function
LPARAM lParam // application-defined value
);
LONG GetWindowLong(
HWND hWnd, // handle to window
int nIndex // offset of value to retrieve
);
详细资料请查看MSDN;
在此我定义了一个过程EnumWindowsProc,通过GetWindowLong来完成对打开程序窗口的枚举;通过ListBox实现程序的列举;并将每次调用的枚举结果存放在/info目录下当天日期为文件名称的.txt文件里;
三、主要实现代码:
枚举窗口句柄:
if(::GetWindowLong(hWnd,GWL_STYLE)& WS_VISIBLE)
{
m_hwndFind[m_num] = hWnd;//record the HWND handle into array
m_num++;//count start
}
巧 巧 读 书:http://www.qqread.com/vc/i520574020.html
更多内容请看界面编程专题,或进入讨论组讨论。
其原理是利用GetWindowLong(hWnd,GWL_STYLE)& WS_VISIBLE对打开的窗口进行查找,并将窗口的句柄存放在一个HWND的数组中,结合EnumWindows进行窗口的枚举,从而得到响应的窗口名称;
二、主要函数介绍:
BOOL EnumWindows(
WNDENUMPROC lpEnumFunc, // callback function
LPARAM lParam // application-defined value
);
LONG GetWindowLong(
HWND hWnd, // handle to window
int nIndex // offset of value to retrieve
);
详细资料请查看MSDN;
在此我定义了一个过程EnumWindowsProc,通过GetWindowLong来完成对打开程序窗口的枚举;通过ListBox实现程序的列举;并将每次调用的枚举结果存放在/info目录下当天日期为文件名称的.txt文件里;
三、主要实现代码:
枚举窗口句柄:
if(::GetWindowLong(hWnd,GWL_STYLE)& WS_VISIBLE)
{
m_hwndFind[m_num] = hWnd;//record the HWND handle into array
m_num++;//count start
}
巧 巧 读 书:http://www.qqread.com/vc/i520574020.html
相关图文阅读
频道图文推荐
健 康 咨 询
时 尚 咨 询
相关专题
- 界面编程 (16篇文章)
- 在MFC中使用WPF技术 (0次浏览)



