Я понимаю, а вот ты, похоже, нет. В любом случае, хоть так, хоть так, потребуется доработка инструментов (кстати это не клиент, а сервер), причем твой вариант намного более трудоёмкий.
в мой пакет первым ставится символ, которого не может быть в пакете кондора, а конкретно "@". сервер проверяет первый символ (сам понимаешь, насколько это быстро), и в зависимости от него продолжает разбор принятого пакета по разному.
В моем варианте требуется простейший udp-sender, который и был написан за 10 минут. Единственное что от него требуется, так это при запуске отправить на тот-же адрес и порт, что и кондор, строку, состоящую из "@" и первого параметра командной строки. Линух вэй, йопт. Много маленьких утилит, которые вместе могут сделать много больше чем каждая в отдельности. В идеале сендер не должен знать, что он отправляет. Именно этот, идеальный вариант, я и реализовал. А дальше уже да хоть АХК, хоть саитовской утилитой, хоть руками его запускай. На настоящий момент сервер понимает следующие пакеты расширения:
Код:
MC_UP
MC_DOWN
LIFT_CRUISE
TERMINATED
Для работы с АХК я написал скриптег, который перехватывает дефолтные кнопки управления МС и переключения лифт/круиз, и запускает указанный выше сендер. Причем ставится сторожок на закрытие окна кондора, при срабатывании которого сбрасываются МС и лифт/кондор в инструментах.
Код:
#MaxThreadsPerHotkey 2
#IfWinActive Condor
End::
Send {End}
Run D:\Prog\Condor\UDPSender.exe MC_DOWN
CondorCloseWait()
return
#IfWinActive Condor
Home::
Send {Home}
Run D:\Prog\Condor\UDPSender.exe MC_UP
CondorCloseWait()
return
#IfWinActive Condor
RCtrl::
Send {RCtrl}
Run D:\Prog\Condor\UDPSender.exe LIFT_CRUISE
CondorCloseWait()
return
CondorCloseWait()
{
global CondorCloseWaiting
if ( CondorCloseWaiting <> "" )
return
CondorCloseWaiting = waiting
WinWaitClose Condor
global Condor_UDP_extender
Run D:\Prog\Condor\UDPSender.exe TERMINATED
}
Добавлено через 5 минут
Ведь сервер (инструменты) слушает не кондора, а порт. И уж кто что на него шлет ему неизвестно, и надо разбираться в том, что тебе прислали.