如何找出哪些程式在 Windows 10 中註冊了全域熱鍵?

如何找出哪些程式在 Windows 10 中註冊了全域熱鍵?

我的媒體熱鍵(播放、暫停、下一個等)已被未知進程竊取。如何找到 Windows 10 中哪個程式註冊了哪些全域熱鍵的清單?有一些程式可以執行此操作,但它們只能在 Windows 7 上運行,而在 Windows 8+ 上則無法運行。

答案1

熱鍵和多媒體鍵可能會被硬體或驅動程式(不太可能)、正在運行的程式或系統設定覆蓋。

這三者是截然不同的,需要不同的方式來檢查和解決。

硬體

您的鍵盤可能有不同的模式,通常可以使用 FN 組合鍵進行選擇。一些智慧鍵盤可透過 Windows 實用程式進行設定。請參閱您的鍵盤文件。

運行程式

雖然這種方法有點殘酷,但我建議啟動任務管理器並終止除系統進程之外的所有進程,例如:svchost、lsass、csrss、smss、services、userinit、dwm、winlogon、explorer。

如果這有幫助,請重新啟動並嘗試將它們一一終止,看看哪一個會導致問題。您可以透過msconfigSysInternals程式停用有問題的進程的啟動autoruns

系統設定

按 Windows 開始按鈕,輸入「regedit」並瀏覽到 HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer

刪除指定的登錄項目(「資料夾」)AppKey(如果存在)。

現在瀏覽HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\AppKey並執行不是刪除它。

很少有子鍵(子資料夾)定義按下多媒體鍵時啟動哪個程式。

以下是 Windows 7 的預設設置,您的應該類似:

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\AppKey]

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\AppKey\15]
"Association"="mailto"

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\AppKey\16]
"Association"=".cda"

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\AppKey\17]
"ShellExecute"="::{20D04FE0-3AEA-1069-A2D8-08002B30309D}"

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\AppKey\18]
"ShellExecute"="calc.exe"

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\AppKey\7]
"Association"="http"

若要將金鑰指派給您選擇的程序,請刪除對應登錄機碼下的任何值,然後建立一個名為的新字串 (REG_SZ) 值,ShellExecute並將您選擇的程式的完整路徑作為值,例如c:\vlc\vlc.exe

如果沒有包含您需要的號碼的金鑰(請參閱下文),只需建立一個。

以下是已知多媒體鍵及其對應編號的列表Appkey\

1   Back (Internet browser) 
2   Forward (Internet browser) 
3   Refresh (Internet browser)
4   Stop (Internet browser)
5   Search
6   Favourites 
7   Web Home
8   Mute volume 
15  Mail 
16  Media 
17  My Computer 
18  Calculator 
24  Mute microphone 
25  Lower microphone volume 
26  Raise microphone volume
27  Help 
28  Find 
29  New
30  Open
31  Close 
32  Save
33  Print
34  Undo
35  Redo
36  Copy 
37  Cut 
38  Paste
39  Reply
40  Forward (mail) 
41  Send
42  Spelling checker
43  Toggle dictation and command/control
44  Toggle microphone
45  Corrections 

(上述列表複製自https://groups.google.com/forum/#!msg/microsoft.public.fr.windowsxp/zZolgM6PC4o/sRJv2NtrB-8J(法文))

這些設定應該在重新啟動後起作用。

桌面捷徑

可以將您需要的熱鍵指派給 Windows 桌面、開始功能表、快速啟動面板或固定到工作列上的捷徑。

搜尋這些可能會很痛苦,相反,您可能想要將以下文字複製到新的文字檔案中,將c:\第一行替換為您的使用者主目錄路徑,例如c:\Users\jwhite\,保存在一個名稱下Script.vbs並運行它。

Const rootdir = "c:\"

Set fso = CreateObject("Scripting.FileSystemObject")
Set wshell = CreateObject("WScript.Shell")

logname="test.txt"
Set logfile = fso.CreateTextFile(logname,True)
logfile.Write "Searching for shortcuts with hotkeys" & vbCrLf

recursedirs( fso.GetFolder(rootdir) )

logfile.Write "Done searching" & vbCrLf
logfile.Close

Sub recursedirs(dir)
    If trylistdir(dir) Then
        For Each subdir In dir.SubFolders
             recursedirs subdir
        Next

        For Each file In dir.Files
            extn = fso.GetExtensionName(file.Path)
            if LCase(extn) = "lnk" Then
               check(file.Path)
            end if
        Next
    End If
End Sub

Function trylistdir(dir)
  On Error Resume Next
  trylistdir = (dir.SubFolders.Count + dir.Files.Count >= 0)
End Function

Sub check(fname)

    Set lnk = wshell.CreateShortcut(fname)
    hk = lnk.Hotkey
    if (hk<>"") then
       logfile.Write fname & " : " & hk & vbCrLf
    end if

End Sub

幾分鐘後,它應該test.txt在與腳本本身相同的資料夾中建立一個名為的文件,其內容如下:

Searching for shortcuts with hotkeys
C:\test\test01.lnk : Alt+Ctrl+Z
C:\test\test02.lnk : Alt+Ctrl+Shift+E
Done searching

軟體

AFAIK,Windows Hotkey Explorer 軟體的工作原理是按下它可以按下的每個熱鍵,然後嘗試攔截任何由此呼叫的內容。我相信從 Windows 8 及更高版本開始,不可能再以這種方式攔截熱鍵,因此這種方法不再有效,因此可能沒有這樣的軟體。

我相信無論如何,要求軟體推薦可能不適合 SuperUser.com,相反,您可能想在專門針對此問題的網站上對以下問題進行投票:https://softwarerecs.stackexchange.com/questions/33669/tool-to-list-all-current-windows-hotkeys

答案2

我用了http://www.nirsoft.net/utils/hot_keys_list.html

看來 ctrl + shift + o 被阻止了

所以我打開該工具看到它確實被使用了,但看不到哪個程序

所以我打開任務管理器並逐個任務地殺死任務,並且總是在工具中點擊刷新,直到我發現它是一些 amd...exe 可能是某種螢幕錄影機

答案3

熱鍵偵探程序(https://github.com/ITachiLab/hotkey-Detective/releases)在撰寫本文時有效。

相關內容