[問題] 如何得知所有正在執行的應用程式資訊??
像是 Windows 下按 ctrl-alt del 的時候會跑出來的工作管理員,
可以看到目前有多少應用程式正在執行中,
這些資訊要如何從程式中得知呢?
我是在 VS 2005 下寫 MFC,
現在找到一些頭緒,但似乎觀念上有點不太對...
大概像底下這樣子:
CWnd *p_ActiveWindow;
CWnd *p_PreviousWindow;
// 找到目前的 CWnd
p_ActiveWindow = p_ActiveWindow->GetActiveWindow();
// 找下一個 CWnd
p_PreviousWindow = p_ActiveWindow->GetNextWindow(GW_HWNDNEXT);
// 一直找下去...
while(p_ActiveWindow!=p_PreviousWindow) // <-- 這個判斷應該有問題...
{
p_PreviousWindow = p_PreviousWindow->GetNextWindow(GW_HWNDNEXT);
}
======
有以下幾個問題...
1. GetActiveWindow() 找到的是 [Windows 工作管理員] => [應用程式]
裡面所顯示的那些應用程式嗎?
2. 如果我一直用 GW_HWNDNEXT 找下去,到最未端後再 Next 會回到最前頭嗎?
我這麼做是因為我不知道第一個 CWnd 怎麼找,也不知道總共有幾個,
有沒有函式能夠幫我做到這兩件事呢?
3. 紀錄程式名稱的字串(?)藏在 CWnd 的哪裡呢?
我在 MSDN 裡找到一個函式,CWnd::GetWindowInfo,
似乎可以把資料傳進 WINDOWINFO structure 裡,
但是要去找 WINDOWINFO 時卻是一片空白...
======
有勞大家了,黑龍江邊裸身跪謝... <(_ _)>
--
追根究底所得到的東西,是失望的觀眾,以及狼狽的魔術師...
De'Ring Practice
http://www.im.tv/vlog/Personal/623262/2093392
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.112.42.81
Programming 近期熱門文章
PTT數位生活區 即時熱門文章