Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Компьютеры » Программы » foobar2000 (часть 3)

Модерирует : gyra, Maz

Maz (21-12-2016 17:42): foobar2000 (часть 4)  Версия для печати • ПодписатьсяДобавить в закладки
На первую страницук этому сообщениюк последнему сообщению

   

B3T6

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Код:
#SingleInstance, Force
#Include led.ahk
 
IfEqual, A_IsAdmin, % False, Run, % "*RunAs """A_ScriptFullPath """"  
SetStoreCapslockMode, Off
OnExit, % "ExitScript"
 
"".Base.WM_INPUTLANGCHANGEREQUEST:=0x0050, "".Base.INPUTLANGCHANGE_FORWARD:=0x0002
"".Base.HSHELL_WINDOWACTIVATED:=4, "".Base.suffix:=A_IsUnicode ? "W":"A"
"".Base.inputLocaleId:=CheckUpLayout()
 
DllCall("RegisterShellHookWindow", "Ptr", A_ScriptHwnd)
OnMessage(DllCall("RegisterWindowMessage"("".suffix)
                                         , "Str", "SHELLHOOK", "UInt")
                                         , "ShellMessage")
 
CapsLock:: ; если всё же нужно родное действие этой клавиши нажимаем с зажатым шифтом    
   SendWindowMessage()
   KeyWait, % A_ThisHotkey
   Notify("".Base.inputLocaleId:=CheckUpLayout())
    Return
 
ExitScript:
   DllCall("DeregisterShellHookWindow", "Ptr", A_ScriptHwnd)
   ExitApp
 
CheckUpLayout()
{
   Return, DllCall("GetKeyboardLayout", "UInt"
         , DllCall("GetWindowThreadProcessId", "Ptr", WinActive("A"), "UInt*", 0, "UInt")
                                      , "Ptr")
}
 
Notify(param)
{
   TrayTip, % "Текущая раскладка", % param&16 ? "Русская":"Английская",, 1
   Sleep, 1000
   TrayTip
}
 
SendWindowMessage()
{
   DllCall("SendMessage"("".suffix), "Ptr", WinActive("A")
                                   , "UInt", "".WM_INPUTLANGCHANGEREQUEST
                                   , "Ptr", "".INPUTLANGCHANGE_FORWARD
                                   , "Ptr", 0)
}
 
ShellMessage(aParams*)
{
   `(aParams.1="".HSHELL_WINDOWACTIVATED) And (CheckUpLayout()<>"".inputLocaleId) And SendWindowMessage()
}

Всего записей: 1080 | Зарегистр. 05-09-2010 | Отправлено: 10:11 05-12-2013
   

На первую страницук этому сообщениюк последнему сообщению

Компьютерный форум Ru.Board » Компьютеры » Программы » foobar2000 (часть 3)
Maz (21-12-2016 17:42): foobar2000 (часть 4)


Реклама на форуме Ru.Board.

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.B0ard
© Ru.B0ard 2000-2024

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru