Я понимаю, а вот ты, похоже, нет. В любом случае, хоть так, хоть так, потребуется доработка инструментов (кстати это не клиент, а сервер), причем твой вариант намного более трудоёмкий.
в мой пакет первым ставится символ, которого не может быть в пакете кондора, а конкретно "@". сервер проверяет первый символ (сам понимаешь, насколько это быстро), и в зависимости от него продолжает разбор принятого пакета по разному.
В моем варианте требуется простейший udp-sender, который и был написан за 10 минут. Единственное что от него требуется, так это при запуске отправить на тот-же адрес и порт, что и кондор, строку, состоящую из "@" и первого параметра командной строки. Линух вэй, йопт. Много маленьких утилит, которые вместе могут сделать много больше чем каждая в отдельности. В идеале сендер не должен знать, что он отправляет. Именно этот, идеальный вариант, я и реализовал. А дальше уже да хоть АХК, хоть саитовской утилитой, хоть руками его запускай. На настоящий момент сервер понимает следующие пакеты расширения:
Для работы с АХК я написал скриптег, который перехватывает дефолтные кнопки управления МС и переключения лифт/круиз, и запускает указанный выше сендер. Причем ставится сторожок на закрытие окна кондора, при срабатывании которого сбрасываются МС и лифт/кондор в инструментах.Код:MC_UP MC_DOWN LIFT_CRUISE TERMINATED
Добавлено через 5 минутКод:#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 }
Ведь сервер (инструменты) слушает не кондора, а порт. И уж кто что на него шлет ему неизвестно, и надо разбираться в том, что тебе прислали.





Ответить с цитированием