2009-06-10 4 views
12

Например, вы нажимаете Ctrl + V и вставляете содержимое буфера в окно. Как я могу создать свои собственные горячие клавиши? Извините за вопрос noobish.Какой самый простой способ сделать горячую клавишу для окон?

+0

Его не вопрос noobish, но нам нужно более подробно. Вы просите о своем собственном использовании, например, назначьте горячую клавишу для запуска firefox? Или для приложения Windows, которое вы пишете. – Alan

+0

Это зависит от того, что вы хотите сделать с горячей клавишей. Напр. вам нужна горячая клавиша для запуска программы? Кроме этого, я думаю, вам понадобится индивидуальная программа для выполнения «регистрации» «горячих» клавиш для вас. – kizzx2

+1

Пример, который вы даете, Ctrl + V - это не горячая клавиша, а командный ускоритель. Горячие клавиши, как правило, относятся к глобально зарегистрированным сочетаниям клавиш, тогда как ускорители команд предназначены для быстрых комбинаций клавиш. –

ответ

0

Во-первых, добро пожаловать в переполнение стека!

Во-вторых, это программа по программе. Единственная причина, по которой Ctrl + C или Ctrl + V работы через различные программы, потому что есть операционная система поддержки буфера обмена и многие программы следовать соглашению использования Ctrl + C или Ctrl + V. В ваших собственных программах вы можете привязать ключи, как вам нравится! Для получения дополнительной информации нам потребуется дополнительная информация о вашей программе.

Если вы хотите сделать актуальные горячие клавиши для самой Windows, я не уверен, как (или если вы в состоянии) сделать свои собственные горячие клавиши. Вы можете посмотреть в AutoIt, который представляет собой бесплатную программу, которая может выполнять всевозможные действия, которые вы можете использовать для быстрого доступа к меню, например, автоматический щелчок по меню и т. Д.

+0

Спасибо! В результате мне нужно следующее: вы запускаете программу и всякий раз, когда вы используете новые горячие клавиши (например, вы пишете на пэде или в другом месте), программа выполняет то, что предписано для этой горячей клавиши. – 2009-06-10 17:16:54

+0

Ну, тогда вам нужны глобальные горячие клавиши. Вы хотите использовать RegisterHotKey в Win32 API, как указано ниже. – samoz

+0

Спасибо вам обоим! Думаю, я понял. – 2009-06-10 17:28:33

5

Комбинации клавиш быстрого доступа, такие как Ctrl + V обычно определяются в файле ресурсов (.rc) и загружаются через Win32 API LoadAccelerators.

Горячие клавиши Windows (горячие клавиши) регистрируются с использованием Win32 API RegisterHotKey.

11

Отличный способ сделать это быстро и легко - это язык скриптов, который фокусируется на макро-программировании. Мой любимый AutoIt, как он говорит в клипе из файла справки AutoIt ...

AutoIt был первоначально разработан для ПК «раскрутить» ситуации надежно автоматизировать и настроить тысячи ПК. Со временем это стало мощным языком, который поддерживает сложные выражения, функции пользователя, петли и все остальное, что ожидали бы ветераны .

Написание приложения hotkey в AutoIt не может быть проще. Например, скажем почему-то (чтобы неясно упомянуть), вы хотели бы ответить Alt + Q ответить как цифровую клавиатуру 7 в конкретной ситуации, возможно, вам не нужно будет протягивать ей клавиатуру. Вот код, который делает это ...

Func _num7() 
    Send("{numpad7}") 
EndFunc 

HotKeySet("!{q}","_num7") 

While 1 
    sleep(10) 
WEnd 

Если это не прямо вперед достаточно файла справки AutoIt и forums очень полезны. Не говоря уже о том, что (очень) несколько разработчиков AutoIt доступны на SO, если у вас возникнут любые особые вопросы AutoIt.

В приведенном выше примере можно сказать, что вы хотели, чтобы горячие клавиши были активны, когда какое-либо приложение использовалось, чтобы не мешать другим горячим клавишам. Этот код выполнит именно это.

; The comment character in AutoIt is ; 
Local $inTargetProg = False 

Func _num7() 
    Send("{numpad7}") 
EndFunc 

While 1 
    If WinActive("Target Application Window Title") and Not $inTargetProg Then 
     HotKeySet("!{q}","_num7") ; binds Alt+Q to the _num7() function 
     $inWC3 = True 
    EndIf 

    If Not WinActive("Target Application Window Title") and $inTargetProg Then 
     HotKeySet("!{q}") ; UnBind the hotkey when not in use 
     $inWC3 = False 
    EndIf 

    sleep(5) 
WEnd 
+2

Хорошие впечатления! Я подумаю, что лучше всего подходит мне. В любом случае, спасибо. – 2009-06-10 17:31:17

+1

Замечательно! надеюсь, вам понравится AutoIt! – Copas

+1

AutoIT действительно скалы –

2

Вы можете создать простую горячую клавишу в Windows, создав ярлык, а затем назначьте ему комбинацию клавиш. Я сделал это для запуска некоторых приложений командной строки с параметрами. Следующая ссылка объясняет использование клавиши быстрого доступа к приложению, чтобы отключить звук: Mute

Просто замените Target: и Shortcut Key: в свойствах ярлыков с тем, что вам нужно для ваших целей.

5

Я использую AutoHotkey на работе в течение большей части года.

Я просто сохранил следующий файл в папке автозагрузки Windows.

keyboard_shortcuts.ahk

#SingleInstance force 
#NoEnv ; Recommended for performance and compatibility with future AutoHotkey releases. 
SendMode Input ; Recommended for new scripts due to its superior speed and reliability. 
SetWorkingDir %A_ScriptDir% ; Ensures a consistent starting directory. 
Menu, Tray, Icon, Shell32.dll, 44 

; Starting Directory for cmd.exe 
EnvGet, HOMEDRIVE, HOMEDRIVE 
EnvGet, HOMEPATH, HOMEPATH 

#i:: Run, notepad 
#f:: Run, firefox 
#c:: Run, cmd /k, %HOMEDRIVE%%HOMEPATH% 
#m:: Run, mailto: 
#b:: Run, mailto:[email protected] 

"#b" означаетWinkey + В

"Выполнить, электронной почты: [email protected]" открыть черный напишите моему начальнику.

#b:: Run, mailto:[email protected] 
+0

Большое спасибо. Можем ли мы сделать то же самое с Ctrl, Alt клавиши –

1

Ok ... самый простой способ, например, на рабочем столе вы можете использовать ускоренную команду, щелкнув правой кнопкой мыши значок> свойства> сочетание клавиш; Нажмите на пустом месте, и будет казаться, что ничего не происходит, но это когда вы назначаете «горячую клавишу» Я использовал Shift, + и всякий раз, когда я совмещаю Shift, + Firefox открывает.

1

Простой скрипт с окнами без каких-либо стороннего программного обеспечения required.just сохранить как .vbs файл и дважды щелкните

currentDirectory = left(WScript.ScriptFullName,(Len(WScript.ScriptFullName))-(len(WScript.ScriptName))) 

Set objShell = WScript.CreateObject("WScript.Shell") 
Set lnk = objShell.CreateShortcut(currentDirectory & "search.LNK") 
lnk.TargetPath = currentDirectory & "search.bat" 
lnk.Arguments = "" 
lnk.Description = "Abiram's search" 
lnk.HotKey = "SHIFT+CTRL+C" 
lnk.WindowStyle = "7" 
lnk.WorkingDirectory = currentDirectory 
lnk.Save 
'Clean up 
Set lnk = Nothing 

изменить lnk.TargetPath включить файл ехе или пакетный файл, который будет называться.

+0

Это умно и просто. Вы в основном создаете файл ярлыков для командного файла, которому вы назначаете горячую клавишу. –

Смежные вопросы