Функция _HotKeyString_To_AutoitCode

 ↑  ←  Описание функции


_HotKeyString_To_AutoitCode

Преобразует текстовый формат записи горячей клавиши в формат функции HotKeySet в Autoit3

#Include <_HotKeyString_To_AutoitCode.au3>
_HotKeyString_To_AutoitCode ( $sKey )

Параметры

$sKey Текстовый формат записи горячей клавиши, например "Ctrl + s"

Возвращаемое значение

Успех:Возвращает строку в формате функции HotKeySet в Autoit3, например "^s"
Ошибка:Возвращает пустую строку и устанавливает @error:
@error:1 - передана пустая строка
2 - с модификаторами используется более чем одна клавиша
3 - один и тот же модификатор используется более чем один раз

Примечания

Обязательно проверяйте @error, так как данные принимаются извне. Преобразует строку, например "Ctrl + a" в вид "^a", последнее является стандартным обозначением модификаторов в Autoit. Это предназначено для чтения горячих клавиш из ini-файла, в котором они записаны в привычном виде.

Пример

; AZJIO
; http://www.autoitscript.com/forum/index.php?showtopic=151525
#include <_HotKeyString_To_AutoitCode.au3>
$sHotKey = _HotKeyString_To_AutoitCode('Ctrl + s') & @LF
$sHotKey &= _HotKeyString_To_AutoitCode('Ctrl + Alt+ F1') & @LF
$sHotKey &= _HotKeyString_To_AutoitCode('Ctrl + Shift+ +') & @LF
$sHotKey &= _HotKeyString_To_AutoitCode('Win + Home')
MsgBox(0, 'Сообщение', $sHotKey)

; Определяет ошибочные конструкции
$sHotKey = _HotKeyString_To_AutoitCode(' + Shift') & @LF ; разделитель справа
$sHotKey &= _HotKeyString_To_AutoitCode('Ctrl + Shift+ ') & @LF ; разделитель слева
$sHotKey &= _HotKeyString_To_AutoitCode(' + Shift+ ') & @LF ; разделитель справа и слева
$sHotKey &= _HotKeyString_To_AutoitCode(' Ctrl + Shift') & @LF ; только модификаторы
$sHotKey &= _HotKeyString_To_AutoitCode(' Ctrl + d+Shift') & @LF ; не соблюдение очерёдности клавиш и модификаторов
$sHotKey &= _HotKeyString_To_AutoitCode('Ctrl + s + d') ; более одной клавиши с модификатором
MsgBox(0, 'Ошибочные конструкции', $sHotKey)