我的媒體熱鍵(播放、暫停、下一個等)已被未知進程竊取。如何找到 Windows 10 中哪個程式註冊了哪些全域熱鍵的清單?有一些程式可以執行此操作,但它們只能在 Windows 7 上運行,而在 Windows 8+ 上則無法運行。
答案1
熱鍵和多媒體鍵可能會被硬體或驅動程式(不太可能)、正在運行的程式或系統設定覆蓋。
這三者是截然不同的,需要不同的方式來檢查和解決。
硬體
您的鍵盤可能有不同的模式,通常可以使用 FN 組合鍵進行選擇。一些智慧鍵盤可透過 Windows 實用程式進行設定。請參閱您的鍵盤文件。
運行程式
雖然這種方法有點殘酷,但我建議啟動任務管理器並終止除系統進程之外的所有進程,例如:svchost、lsass、csrss、smss、services、userinit、dwm、winlogon、explorer。
如果這有幫助,請重新啟動並嘗試將它們一一終止,看看哪一個會導致問題。您可以透過msconfig
SysInternals程式停用有問題的進程的啟動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)在撰寫本文時有效。