Поправил.
Поправил.
Нужны исходники скрипта. Ибо есть возможность использовать другие вспомогательные программы. Или хотя бы описание, что делает скрипт.
А как быть если вместо GpsGate используется Eltima Software Shared Serial Ports ?
Просто проще создать один COM порт для всех gps программ, чем плодить кучу портов GpsGate`ом.
Nissan Almera N16 продана
В приципе, GPSGate для работы не нужен, если только не используется логгинг. Я вот сейчас поставил эмулятор на нетбук и подключил приёмник. При простом подключении (у меня это COM5) эмулятор закапризничал и не стал грузиться (как и положено!) Пришлось создать пару портов с помощью vspd. Запарил COM5 и COM6. Последний указал в ключе эмулятора. И запустилось всё. Жаль, что в доме приёмник не видит спутники, попробую в другой комнате у окна.
Отпишись мне в аську, если есть возможность !
При включении эмулятора на ком-порте не должно быть никаких данных, поэтому у тебя и запустилось!!! (ты сам пишешь, что не ловил GPS)
Если неверишь - запусти гипертерминал на порту и посомтри. Если данных нету, или их мало, то эмуль стартует!
Я бы с удовольствием сделал фильт какой-либо, не посылающий каждую милисекунду данные в ком порт. эТО ненужно и ГЛупо!!!
Выкладываю скрпит . каждая команда имеет описание:
По поводу тормозов. Выключите нафиг 3д режим в нафителе. По мне так неудобно и безсмыслено. Сделайте меньше детализацию.Код HTML:#include <Constants.au3> #include <GUIConstantsEx.au3> If WinExists(@ScriptName) Then Exit AutoItWinSetTitle(@ScriptName) $sLog = '' $Config = @ScriptDir & "\config.ini" ; загружаем параметры из конфига $ComConnectPatch = IniRead($Config, 'Emulator', 'ComConnectPatch','') $GpsGatePatch = IniRead($Config, 'Emulator', 'GpsGatePatch','') $EmulatorPatch = IniRead($Config, 'Emulator', 'EmulatorPatch','') $ComConnectExe = IniRead($Config, 'Emulator', 'ComConnectExe','') $GpsGateExe = IniRead($Config, 'Emulator', 'GpsGateExe','') $EmulatorExe = IniRead($Config, 'Emulator', 'EmulatorExe','') $Sleep1 = IniRead($Config, 'Emulator', 'Sleep1','500') $Sleep2 = IniRead($Config, 'Emulator', 'Sleep2','400') $Sleep3 = IniRead($Config, 'Emulator', 'Sleep3','100') $Sleep4 = IniRead($Config, 'Emulator', 'Sleep4','100') If ProcessExists('GpsGateXP.exe') Then RunWait('taskkill /f /im GpsGateXP.exe') ; закрываем GpsGate Sleep($Sleep1) EndIf If ProcessExists('emulator.exe') Then RunWait('taskkill /f /im emulator.exe') ; закрываем эмулятор EndIf If Not ProcessExists('VSPEmulator.exe') Then Run($ComConnectPatch) Sleep($Sleep2) ; запускаем VSPE EndIf Sleep($Sleep3) $hIPconfig = Run (@ComSpec & $EmulatorPatch, '' , @SW_HIDE , $STDOUT_CHILD) Sleep($Sleep4) WinWaitActive("[CLASS:#32770]","",3) ; ждём пока не появится окно Send('{ENTER}') ; нажимаем ок WinWaitActive("[CLASS:SDL_app]","",3) ; ждём появленяи эмулятора While ProcessExists('emulator.exe') $sLog = StdoutRead($hIPconfig) Sleep(1000) $array = StringRegExp ( $sLog, "Sucessfully mounted vfat filesystem" , 0 ) ; ждём загрузки эмулятора If $array Then ExitLoop WEnd Sleep(100) WinActivate("[CLASS:SDL_app]") Send('{F2}') Run($GpsGatePatch) ; запустить GpsGate Exit
Если тормозит всеравно, то можете ставить меньше разрешение + выставить масштаб командой -scale 2 например, см в шапке описание и DPI -dpi-device 120
Последний раз редактировалось dobrinia; 21.01.2011 в 05:39.
Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)