Что нового

Процессы Как ограничить работу скрипта?

zelich

Новичок
Сообщения
149
Репутация
0
Есть скрипт для Autodesk Revit.
Код:
#include <GuiConstants.au3>
#include <WinAPISys.au3>
#include <WindowsConstants.au3>
#include <Misc.au3>
TraySetToolTip('Revit_Export_07/12')

HotKeySet('+{Esc}', '_Exit')

HotKeySet('{F2}', '_Export4')   ;~ Экспорт
HotKeySet('{`}', 'ZoomE')   ;~ Zoom Экспорт
HotKeySet('{F6}', 'Rename1')   ;~ Переименование "копия 1" в "сайт"
HotKeySet('{F7}', 'Duplicate')  ;~ Копирование с детализацией

MsgBox(4096, "Revit_Export", "  '              ====> Эмуляция Z - E"&@CRLF&"F2             ====> экспорт изображения (Видимая область текущего)"&@CRLF&"F6             ====> Переименование 'копия 1' в 'сайт' (выделенный)"&@CRLF&"F8             ====> Скопир с детализацией (выделенный)", 3)

$hWnd = GUICreate("")
GUIRegisterMsg($WM_HOTKEY, 'WM_HOTKEY')

$GUI = GUICreate("", 60, 60, 1890, 42, $WS_POPUP, BitOR($WS_EX_TOPMOST, $WS_EX_TOOLWINDOW, $WS_EX_TRANSPARENT, $WS_EX_LAYERED))
GUISetBkColor(0x00B510)
_WinAPI_SetLayeredWindowAttributes($GUI, 0x00B510, 0, $LWA_COLORKEY)
GUICtrlCreateLabel("•", 0, 0, 30, 30, BitOR($SS_CENTER, $SS_CENTERIMAGE))
GUICtrlSetColor(-1, 0x527887)
GUICtrlSetFont(-1, 40)
GUISetState()

While 1
    Sleep(10)
 WEnd

Func ZoomE()
      Send("ze") ;~ Эмулирует нажатие Z - E
EndFunc

Func _Export4()                   ;~    Экспорт с горячими

      Send("ei") ;~ Эмулирует нажатие Alt -> Экспорт

      Sleep (200)
      Send("{TAB 3}") ; Эмулирует нажатие Tab 3 раза
      Send("{DOWN}")
      Send("+{TAB}")
EndFunc

Func Rename1()

   Send("{APPSKEY}")
   Send("{UP 7}")
   Send("{ENTER}")
   Send("{RIGHT}")
   Send("{BACKSPACE 7}")
   Send(" сайт")
   Send("{ENTER}")
EndFunc

Func Duplicate()

;~    Beep(200,150)
   Send("{APPSKEY}")
   Send("{DOWN 7}")
   Send("{RIGHT}")
   Send("{DOWN}")
   Send("{ENTER}")
EndFunc


Func _Exit()
    Exit
 EndFunc

В нём использую горячие клавиши F6 и F7
Так-же в работе использую Total Commander
В нём есть свои команды для F6 и F7.
Как можно сделать, что скрипт работал только в Revit или наоборот не рабоотал в Total Commander ?
 

sngr

AutoIT Гуру
Сообщения
1,011
Репутация
409
Код:
HotKeySet('{f6}','fu1')
While 1
	Sleep(100)
WEnd
Func fu1()
	Select
		Case WinActive('Total Commander')
			HotKeySet(@HotKeyPressed)
			Send(@HotKeyPressed)
			HotKeySet(@HotKeyPressed, 'fu1')
	EndSelect
EndFunc
 
Верх