1

Тема: AHK: посылка в окно символов в кодировке Unicode

Скрипт взят на форуме AutoHotkey в теме Inserting unicode special characters

В данном примере он при нажатии на F11 посылает в окно математический знак "больше или равно" ( ≥ , код символа 0x2265). Окно должно поддерживать отображение символов в юникоде, кроме того используемый шрифт должен содержать символ с таким кодом. Коды символов для разных шрифтов можно посмотреть во встроенной в Windows программе Таблица символов (Главное меню\Все программы\Стандартные\Служебные).

F11::
  SendUnicodeChar(0x2265)
Return 

SendUnicodeChar(charCode) 
{ 
   VarSetCapacity(ki, 28 * 2, 0) 
   EncodeInteger(&ki + 0, 1) 
   EncodeInteger(&ki + 6, charCode) 
   EncodeInteger(&ki + 8, 4) 
   EncodeInteger(&ki +28, 1) 
   EncodeInteger(&ki +34, charCode) 
   EncodeInteger(&ki +36, 4|2) 

   DllCall("SendInput", "UInt", 2, "UInt", &ki, "Int", 28) 
} 

EncodeInteger(ref, val) 
{ 
   DllCall("ntdll\RtlFillMemoryUlong", "Uint", ref, "Uint", 4, "Uint", val) 
}