snoitaleR
AutoIT Гуру
- Сообщения
- 855
- Репутация
- 223
Формат вызова функции:
HotKeySet ( "key" [, "function"] )
Описание ошибки:
Не срабатывают горячие клавиши, содержащие в параметре "key" символы, которые не совпадают с текущей раскладкой клавиатуры по умолчанию (Правильней было бы сказать "Язык ввода по умолчанию").
Операционные системы:
Windows XP RU SP3 32
Windows 7 Домашняя расширенная RU 32
Пример:
1. Установите текущей раскладкой клавиатуры по умолчанию "Русский - Русская"...
2. Запустите на выполнение скрипт:
3. Нажмите комбинацию клавиш [ALT]+[SHIFT]+[D]
4. Завершите выполнение скрипта
5. Установите текущей раскладкой клавиатуры по умолчанию "Английский (США) - США"...
6. Запустите на выполнение тот же скрипт
7. Нажмите комбинацию клавиш [ALT]+[SHIFT]+[D]
8. Завершите выполнение скрипта
Пример:
Для случаев, когда установлена единственная раскладка клавиатуры "Английскй (США) - США", можно в параметре "key" функции HotKeySet() заменить символ "d" на символ "в", соответствующий русской раскладке клавиатуры.
Пример:
Скрипт, предложенный Yashied, регистрирует ту же комбинацию клавиш, но она срабатывает при любой раскладке клавиатуры по умолчанию:
Это можно учесть при исправлении ошибки...
HotKeySet ( "key" [, "function"] )
Описание ошибки:
Не срабатывают горячие клавиши, содержащие в параметре "key" символы, которые не совпадают с текущей раскладкой клавиатуры по умолчанию (Правильней было бы сказать "Язык ввода по умолчанию").
Операционные системы:
Windows XP RU SP3 32
Windows 7 Домашняя расширенная RU 32
Пример:
1. Установите текущей раскладкой клавиатуры по умолчанию "Русский - Русская"...
2. Запустите на выполнение скрипт:
Код:
; НАЧАЛО
HotKeySet("+!d","DATETIME")
while true
Sleep(100)
wend
Func DATETIME()
ClipPut(@YEAR&"-"&@MON&"-"&@MDAY&"-"&@HOUR&"-"&@MIN&"-"&@SEC)
MsgBox(0,"Диагностика","Дата и время в буфере обмена")
EndFunc
; КОНЕЦ
3. Нажмите комбинацию клавиш [ALT]+[SHIFT]+[D]
4. Завершите выполнение скрипта
5. Установите текущей раскладкой клавиатуры по умолчанию "Английский (США) - США"...
6. Запустите на выполнение тот же скрипт
7. Нажмите комбинацию клавиш [ALT]+[SHIFT]+[D]
8. Завершите выполнение скрипта
Пример:
Для случаев, когда установлена единственная раскладка клавиатуры "Английскй (США) - США", можно в параметре "key" функции HotKeySet() заменить символ "d" на символ "в", соответствующий русской раскладке клавиатуры.
Пример:
Скрипт, предложенный Yashied, регистрирует ту же комбинацию клавиш, но она срабатывает при любой раскладке клавиатуры по умолчанию:
Код:
$VK_D = 0x44
$MOD_ALT = 0x0001
$MOD_CONTROL = 0x0002
$MOD_SHIFT = 0x0004
$MOD_WIN = 0x0008
$hWnd = GUICreate('')
GUIRegisterMsg(0x0312, "MY_WM_HOTKEY") ; WM_HOTKEY
; Set ALT-SHIT-D
DllCall('user32.dll', 'int', 'RegisterHotKey', 'hwnd', $hWnd, 'int', '0', 'uint', BitOR($MOD_ALT, $MOD_SHIFT), 'uint', $VK_D)
While 1
Sleep(100)
WEnd
Func MY_WM_HOTKEY($hWnd, $Msg, $wParam, $lParam)
MsgBox(0, '', 'You pressed ALT-SHIFT-D')
EndFunc ;==>MY_WM_HOTKEY
Это можно учесть при исправлении ошибки...