2012-03-08 68 views
0

與我的問題here相關,是否可以創建一個窗口鉤子來監視應用程序是否已打開?窗鉤和應用程序

我發現的有關鉤子的大部分內容似乎都集中在用戶輸入(鍵盤按下,鼠標事件)上,但我無法確認是否有可能知道用戶所做的「雙擊」是打開應用程序,或者只是突出顯示一個詞。

謝謝。

+0

請查看我的請求,以便在另一個問題上具體說明。我想你會混淆**窗口鉤子**和其他鉤子類型,比如通過Detours庫實現的鉤子類型。 – 0xC0000022L 2012-03-08 02:08:11

+0

我對鉤子相當陌生,我以爲只有一種......哈哈......對不起..我在這裏也發帖,我指的是鉤子:http://msdn.microsoft.com /en-us/library/windows/desktop/ms632589(v=vs.85).aspx – hoki 2012-03-08 02:18:27

+0

@STATUS_ACCESS_DENIED,現在我們已經澄清了我指的是哪個鉤子,請問您可以回答我上面的問題嗎?我現在很迷茫...:P謝謝..:D – hoki 2012-03-08 02:29:32

回答

0

事實上,窗鉤是不夠的。事實上,對於你是問有關你可以使用不同的策略,如任務:

  1. 枚舉進程找到你要找的(工具幫助API或PSAPI)
  2. 枚舉頂級的一個(但你只限於你的桌面)
  3. 檢查全局或本地事件,互斥鎖(或其他內核對象),從中推斷應用程序的某些實例正在運行
  4. 。 ..甚至從內核PsSetCreateProcessNotifyRoutine

上面加上一些可能會有變化。

實質上,問題是您是要檢查進程還是其他指示符表示您要檢查的程序是否已啓動。