Здраствуйте вот мой код
Помогите, чтобы HotKeySet предназначены, для Autocad, работали только в самом Autocad, соответствено чтобы у меня появилась возможность добавлять другие сочетания клавиш на эти HotKey для других программ.
Код:
#include <WinAPIEx.au3>
_FixAccelHotKeyLayout() ; Fix чтобы можно было выставлять русскую раскладку клавиатуры по умолчанию, при загрузке Windows
Func _FixAccelHotKeyLayout()
Static $iKbrdLayout, $aKbrdLayouts
If Execute('@exitMethod') <> '' Then
Local $iUnLoad = 1
For $i = 1 To Ubound($aKbrdLayouts) - 1
If Hex($iKbrdLayout) = Hex('0x' & StringRight($aKbrdLayouts[$i], 4)) Then
$iUnLoad = 0
ExitLoop
EndIf
Next
If $iUnLoad Then
_WinAPI_UnloadKeyboardLayout($iKbrdLayout)
EndIf
Return
EndIf
$iKbrdLayout = 0x0409
$aKbrdLayouts = _WinAPI_GetKeyboardLayoutList()
_WinAPI_LoadKeyboardLayout($iKbrdLayout, $KLF_ACTIVATE)
OnAutoItExitRegister('_FixAccelHotKeyLayout')
EndFunc
#include <Constants.au3>
HotKeySet("{HOME}", "func1") ; сочетание клавиш Ctrl+SHIFT+C (для Autocad)
HotKeySet("{END}", "func2") ; сочетание клавиш Ctrl+W (для Autocad)
HotKeySet("{NUMPADDOT}", "func3") ; точка или запятая на NUMPAD
HotKeySet("{INSERT}", "func4") ; сочетание клавиш Ctrl+C
HotKeySet("{PGUP}", "func5") ; сочетание клавиш Ctrl+V
HotKeySet("{PGDN}", "func6") ; сочетание клавиш Ctrl+M (для Autocad)
HotKeySet("{PAUSE}", "func7") ; сочетание клавиш ALT+F4
HotKeySet("{SCROLLLOCK}", "func8") ; сочетание клавиш TAB
Opt("TrayMenuMode", 1) ; Default tray menu items (Script Paused/Exit) will not be shown
Local $my1item = TrayCreateItem("Запятая", -1, -1, 1)
TrayItemSetState(-1, $TRAY_CHECKED)
Local $my2item = TrayCreateItem("Точка", -1, -1, 1)
TrayCreateItem("")
Local $showinfo = TrayCreateItem("О программе")
TrayCreateItem("")
Local $exititem = TrayCreateItem("Exit")
Local $myitem = 1
TraySetState()
While 1
Local $msg = TrayGetMsg()
Select
Case $msg = 0
ContinueLoop
Case $msg = $my1item
$myitem = 1
ContinueLoop
Case $msg = $my2item
$myitem = 2
ContinueLoop
Case $msg = $exititem
ExitLoop
Case $msg = $showinfo
MsgBox(0, "О программе", "Автор: Дмитрий Руденко" & @LF & "E-mail: [email protected]" & @LF & "http://fordewind.org/" & @LF & "Программа распространяется бесплатно")
ContinueLoop
EndSelect
WEnd
Func func1()
Send("^+{c}")
EndFunc
Func func2()
Send("^{w}")
EndFunc
Func func3()
sleep(35)
IF $myitem = 1 then
send("{ASC 044}")
ElseIf $myitem = 2 Then
send("{ASC 046}")
EndIf
EndFunc
Func func4()
Send("^{c}")
EndFunc
Func func5()
Send("^{v}")
EndFunc
Func func6()
Send("^{m}")
EndFunc
Func func7()
Send("!{F4}")
EndFunc
Func func8()
Send("{TAB}")
EndFunc
Помогите, чтобы HotKeySet предназначены, для Autocad, работали только в самом Autocad, соответствено чтобы у меня появилась возможность добавлять другие сочетания клавиш на эти HotKey для других программ.