If $CmdLine[0] > 0 Then If $CmdLine[1] = "MSG" Then Local $MSG_WM_COPYDATA = 0x004A $HandleSAS = WinGetHandle("SAS.Planet") If WinExists($HandleSAS) = 0 Then $HandleSAS = WinGetHandle("SAS.Планета") If WinExists($HandleSAS) = 0 Then MsgBox(64, @ScriptName, 'Не найдено запущенное приложение с заголовком SAS.Planet или SAS.Планета') Exit EndIf EndIf ;~ WinActivate($Handle1C) Local $hWnd, $SendErr = False, $aRet, $tMessage, $tCOPYDATA $sMessage = $CmdLine[2] $tMessage = DllStructCreate('char[' & StringLen($sMessage) + 1 & ']') DllStructSetData($tMessage, 1, $sMessage) $tCOPYDATA = DllStructCreate('dword;dword;ptr') DllStructSetData($tCOPYDATA, 2, StringLen($sMessage) + 1) DllStructSetData($tCOPYDATA, 3, DllStructGetPtr($tMessage)) $aResult = DllCall('user32.dll', 'lparam', 'SendMessage', 'hwnd', $HandleSAS, 'int', $MSG_WM_COPYDATA, 'wparam', 0, 'lparam', DllStructGetPtr($tCOPYDATA)) If @error Then $SendErr = 1 EndIf $tCOPYDATA = 0 $tMessage = 0 ElseIf $CmdLine[1] = "?" Then MsgBox(64, @ScriptName, 'Справка о параметрах:' & @CR & @CR & _ '[Режим];[Данные1];[Данные2];...' & @CR & @CR & _ 'Режим:' & @CR & @CR & _ '1: переход по координате (где Данные1 - долгота; Данные2 - широта; [Данные3] - масштаб)' & @CR & @CR & _ '2: навигация по координате (где Данные1 - долгота; Данные2 - широта)' & @CR & @CR & _ '3: объединение режимов 1 и 2 (переход к координате с навигацией)' & @CR & @CR & _ '4: изменение масштаба карты (где Данные1 - масштаб)' & @CR & @CR & _ @CR & @CR & _ 'ПРИМЕРЫ:' & @CR & @CR & _ '1;58.594136;49.684498;17 - перейти к координате (58.594136;49.684498) с установкой масштаба 17' & @CR & @CR & _ '1;58.594136;49.684498 - перейти к координате (58.594136;49.684498) без изменения масштаба' & @CR & @CR & _ '2;58.594136;49.684498 - создать навигацию на точку (58.594136;49.684498)' & @CR & @CR & _ '3;58.594136;49.684498 - перейти к координате (58.594136;49.684498) с установкой навигации на эту точку' & @CR & @CR & _ '4;18 - установить масштаб 18') EndIf EndIf