1
A
回答
2
嘗試使用此GetWindow
API遍歷顯示的窗口句柄。使用GetWindowText
API獲取標題標題(如果有)。
HWND wnd = ::GetWindow(this->GetSafeHWND(), GW_HWNDFIRST);
if(!wnd)
{
return;
}
CString csWindows = "";
do
{
CString csText;
::GetWindowText(wnd, csText.GetBuffer(MAX_PATH), MAX_PATH);
csText.ReleaseBuffer();
if(!csText.IsEmpty())
{
csWindows += csText + "\n";
}
}while(wnd = ::GetWindow(wnd, GW_HWNDNEXT));
AfxMessageBox(csWindows);
上面的代碼應該工作。如果您只想看到可見的窗口,請使用::IsWindowVisible
API來檢查它。
更新:
調用GetWindow來執行此任務的應用程序有可能被 陷入無限循環或引用的句柄 已銷燬的窗口。將EnumWindows用於頂級Windows和 EnumChildWindows用於Child Windows或EnumThreadWindows用於所有 與子線程關聯的非子窗口是首選方法。
相關問題
- 1. 如何獲取窗口應用程序中打開的窗體名稱的名稱
- 2. 使用Javascript獲取爲域名打開的所有窗口
- 3. 如何獲取所有已打開的子窗口的引用
- 4. 打開應用程序主窗口在系統托盤圖標
- 5. 獲取窗口標題爲「someWinTitle」的應用程序的名稱
- 6. 獲取所有打開的窗口使用AutoIt的列表
- 7. 是否有可能使用python pywin32從窗口中的系統托盤應用程序獲取前臺窗口?
- 8. 如何獲取軟件包Android中系統預裝應用程序的名稱
- 9. Android獲取當前打開的應用程序的包名稱
- 10. 如何在C#應用程序中獲取外部窗口的名稱?
- 11. 如何關閉包括所有打開的子窗口的應用程序,MFC
- 12. 如何通過packageName獲取應用程序中的所有系統的BroadcastReceiver?
- 13. 如何在android中獲取最近打開的應用程序名稱?
- 14. 如何在ASP.NET應用程序中獲取所有可用的文化名稱
- 15. 如何在Visual C#2008中使用WPF獲取自定義應用程序名稱和啓動窗口名稱?
- 16. 使用打開的端口獲取應用程序
- 17. 獲取系統上所有可用網絡接口名稱的C++代碼
- 18. 獲取所有打開的Word應用程序的集合
- 19. 窗口系統托盤應用程序像卷應用程序
- 20. 如何獲取應用程序擁有的所有打開的圖形頁面?
- 21. 獲取系統中可用的打印機名稱Ext Js 4.1
- 22. 使用Selenium Chrome驅動程序打開所有Chrome窗口
- 23. 獲取系統打印機名稱列表非常緩慢的窗口
- 24. 如何獲取另一個應用程序的所有窗口的句柄
- 25. 獲取應用程序的主窗口
- 26. 如何在django中使用python獲取應用程序名稱
- 27. 如何在C#中使用.exe獲取應用程序名稱?
- 28. 如何從進程名稱獲取應用程序名稱?
- 29. 在Android中如何使用intent打開系統內置的gallery應用程序?
- 30. 打開系統瀏覽器中的所有外部應用程序鏈接
非常感謝.... 希望這個代碼也工作 BOOL CALLBACK EnumWindowsProc(HWND的HWND,長的lParam){ 炭的buff [255]引;如果(IsWindowVisible(hWnd))GetWindowText(hWnd,(LPWSTR)buff,254); } return TRUE; (argc,argv); } int main(int argc,char * argv []) { QCoreApplication a(argc,argv); EnumWindows(EnumWindowsProc,0); return 0; } – Sudix 2012-07-10 09:21:10
EnumWindows枚舉顯示的所有頂級窗口。它應該工作,如果這是你想要的。 – 2012-07-10 09:35:02