Гарячі клавіші та мультимедійні клавіші можуть бути замінені апаратними засобами або драйверами (навряд чи), запущеною програмою або системними налаштуваннями.
Ці три є різними і потребують різних способів перевірки та вирішення.
Обладнання
Ваша клавіатура може мати різні режими, як правило, вибирати комбінацію клавіш FN Деякі смарт-клавіатури можна налаштувати за допомогою утиліти Windows. Дивіться документацію щодо клавіатури.
Запуск програм
Хоча такий підхід трохи брутальний, я пропоную запустити диспетчер завдань та припинити всі процеси, крім системних, таких як: svchost, lsass, csrss, smss, сервіси, 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 у будь-якому випадку, натомість ви можете скасувати наступне питання на веб-сайті, присвяченому цьому: /softwarerecs/33669/tool-to-list- всі поточні вікна-гарячі клавіші