Что самый легкий путь состоит в том, чтобы сделать горячей клавишей для окон?

в произвольном порядке:

  • функциональные указатели (делегаты); все проходящие интерфейсы вокруг вещи глупы
  • настоящие дженерики ; какой смысл иметь типобезопасные дженерики, если компилятор не может даже хранить метаданные через компиляцию модуля?
  • скорость интерфейса ; все библиотеки пользовательского интерфейса для самостоятельного рисования очень медленны по сравнению с собственными элементами управления, заключенными в «управляемые» библиотеки, не говоря уже о том, что пользовательский интерфейс Microsoft, созданный в автоматическом режиме, аппаратно ускоряется с помощью direct3d
  • и конструкции yield return ; c # настолько удобен для пользователя, что это безумие
  • перегрузка оператора
  • linq ; просто потому, что это так увлекает
  • свойства ; чем больше синктатического сахара, тем вы зависимее от
  • лучше взаимодействует с нативным кодом ; Поддержка p / invoke и нативных com в c # делает взаимодействие таким легким по сравнению с jni -.-
  • типами значений первого класса ; это идет рука об руку с реальными обобщениями, наличие универсальных списков, которые никогда не блокируют / распаковывают в c #, является частью того, почему c # быстрее, чем java.

и я бы сказал, что это самый важный:

  • отзывчивый, информативный отладчик ; ничто не может даже приблизиться к визуальной студии прямо сейчас
12
задан Fabrizio 31 August 2017 в 20:31
поделиться

5 ответов

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

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

2
ответ дан 2 December 2019 в 06:09
поделиться

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

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

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

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

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

While 1
    sleep(10)
WEnd

Если это не совсем понятно, очень полезны файл справки AutoIt и форумы . Не говоря уже о (очень) небольшом количестве разработчиков 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
11
ответ дан 2 December 2019 в 06:09
поделиться

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

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

5
ответ дан 2 December 2019 в 06:09
поделиться

Я использую 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:boss@mycompany.com

«# b» означает Winkey + B

«Беги, mailto: boss@mycompany.com » открыть черное письмо на мой бобышка.

#b:: Run, mailto:boss@mycompany.com
5
ответ дан 2 December 2019 в 06:09
поделиться

Во-первых, добро пожаловать в Stack Overflow!

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

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

0
ответ дан 2 December 2019 в 06:09
поделиться
Другие вопросы по тегам:

Похожие вопросы: