1

Тема: AHK: Авто замена слов

Здравствуйте уважаемые форумчане.
Появился такой вопрос, пытался найти на него ответ, но так и не нашел. Возможно плохо искал.

Суть такова: Мне нужно сделать авто замену определенных фраз.
К примеру я пишу "cgc" мне автоматом заменяется на "Спасибо"

Раньше я делал это так, даже не зная на сколько это верный метод, но он работает


:K10*?:спс::
{
sendinput {enter}
sleep 500
sendinput {f6}спасибо{space}
}
return

однако к примеру мне нужно сделать несколько слов. К примеру если я пишу "cgc или спс" то заменяло бы на "Спасибо"

В общем как в строке

:K10*?:спс::

Сделать несколько значений?

Заранее буду благодарен за любую помощь. Может кто подскажет как это все сделать проще и грамотнее.

2 (изменено: Alectric, 2016-07-19 14:39:06)

Re: AHK: Авто замена слов

:K10*?:cgc::
:K10*?:спс::
{
SwitchInputLayout("Rus")
sendinput {enter}
sleep 500
sendinput {f6}Спасибо.{space}
}
return



SwitchInputLayout(switch="")
{
  static Locale_RU:=0x04190419, Locale_EN:=0x04090409
  ControlGetFocus,CtrlFocus,A
  ControlGet,id,hwnd,,%CtrlFocus%,A
  if !id
    ID:=WinExist("A")
  ThreadID:=DllCall("GetWindowThreadProcessId",Ptr,id,Int,0,ptr)
  Locale:=GetLayot(ThreadID)
  if (switch="Eng")
    Locale:=Locale_RU
  else if (switch="Rus")
    Locale:=Locale_EN
  sendMessage,0x50,,% Locale=Locale_RU ? Locale_EN : Locale_RU,,ahk_id %ID%
  if (Locale=GetLayot(ThreadID))
  {
    send,{alt down}{shift down}{alt up}{shift up}
    sleep,20
    if (Locale=GetLayot(ThreadID))
    {
;      ToolTip,Невозможно переключить раскладку.,% A_CaretX=0 ? DF_X : A_CaretX+10,% A_CaretY=0 DF_Y ? : A_CaretY-20,3
      return 1
    }
  }
;  ToolTip,% GetLayot(ThreadID)=Locale_RU ? "Русский" : "Английский",% A_CaretX=0 ? DF_X : A_CaretX+10,% A_CaretY=0 DF_Y ? : A_CaretY-20,3
;  SetTimer,RemoveToolTip,-1100
}
GetLayot(ThreadID)
{
  return DllCall("GetKeyboardLayout",ptr,ThreadID,ptr)
}

;RemoveToolTip:
;tooltip,,,,3
;return
Win 10 x64
AHK v1.1.33.02
                       Справка тебе в помощь.

3

Re: AHK: Авто замена слов

Спасибо