EnumWindows 使用
生活随笔
收集整理的這篇文章主要介紹了
EnumWindows 使用
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
轉載自csdn:http://blog.csdn.net/hairi/article/details/548064
?
EnumWindows 用來列舉屏幕上所有頂層窗口。
MSDN原話:
The EnumWindows function enumerates all top-level windows on the screen by passing the handle to each window。
函數形式:
BOOL EnumWindows(WNDENUMPROC lpEnumFunc, // callback function LPARAM lParam // application-defined value ); 其中 WNDENUMPROC 是回調函數,回調函數中寫自己想做的操作,當調用EnumWindows的 時候,每次遇到一個窗口,系統就調用一次你的WNDENUMPROC ,然后把窗口句柄傳給你。 EnumWindows 函數成功則返回非0值; 函數失敗則返回0值; EnumWindowsProc 返回0值,同樣導致函數EnumWindows 返回0值。 ? 另外,該函數不列舉子窗口,除了幾種擁有WS_CHILD 風格的系統所屬窗口。 MSDN原話: The EnumWindows function does not enumerate child windows,with the exception of a few top-level windows owned by the system that have the WS_CHILD style. 使用舉例: 先聲明一個EnumWindowsProc ,比如: BOOL CALLBACK EnumWindowsProc_1(HWND hwnd,LPARAM lparam) ; 然后實現此函數,寫入自己想做的事情,比如: BOOL CALLBACK EnumWindowsProc_1(HWND hwnd,LPARAM lparam){
? Technorati 標簽: C++ ::GetWindowText(hwnd,lpWinTitle,256-1);
CString m_strTitle;
m_strTitle.Format("%s",lpWinTitle);
if(m_strTitle.Find("Internet Explorer")!=-1)
{
? AfxMessageBox("這是一個IE窗口!") ;
}?
return TRUE ;
}
然后就可以在其他地方調用EnumWindows的時候使用回調函數,比如: ::EnumWindows(EnumWindowsProc_1,0) ; 這樣每當遇到IE窗口時,就會進行 提示“這是一個IE窗口!” 的操作。
轉載于:https://www.cnblogs.com/zhaox583132460/p/3394702.html
總結
以上是生活随笔為你收集整理的EnumWindows 使用的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: js数组操作各种方法
- 下一篇: 上传本地项目到git