Показать сообщение отдельно
Старый 11.08.2015, 21:13   #144
Krysanov
Super Moderator
 
Аватар для Krysanov
 
Регистрация: 12.11.2013
Возраст: 45
Город: Горно-Алтайск
Регион: 04
Машина: lexus rx300
Сообщений: 3,145
Krysanov is a splendid one to beholdKrysanov is a splendid one to beholdKrysanov is a splendid one to beholdKrysanov is a splendid one to beholdKrysanov is a splendid one to beholdKrysanov is a splendid one to beholdKrysanov is a splendid one to beholdKrysanov is a splendid one to behold
По умолчанию

Вот код, из файла GpsGateWatcher.au3 для WIN 8.1 x 64 бит (вирт порт № 6):

Код:
#pragma compile(Icon, "C:\Program Files (x86)\AutoIt3\Icons\au3script_v9.ico")
#Region ;**** Directives created by AutoIt3Wrapper_GUI ****
#AutoIt3Wrapper_Compression=4
#AutoIt3Wrapper_UseUpx=y
#AutoIt3Wrapper_Run_AU3Check=n
#EndRegion ;**** Directives created by AutoIt3Wrapper_GUI ****

#include <Array.au3>
#include <CommMG.au3>
#include <Date.au3>
#include <MsgBoxConstants.au3>

; Настройки COM-порта... себе установил порт 6
$iPort   = 6
$iBaud   = 115200
$iBits   = 8
$iParity = 0
$iStop   = 1
$iFlow   = 0

$msgError = ''

While (True)

	; Запускаем GpsGate, если не запущена
	If (Not ProcessExists("GpsGateXP.exe")) Then
		ShellExecute("C:\Program Files (x86)\Franson\GpsGate 2.0\GpsGateXP.exe")
		Sleep(500)
	EndIf

	; Открываем порт
	$portStatus = _CommSetPort($iPort, $msgError, $iBaud, $iBits, $iParity, $iStop, $iFlow)
	If ($portStatus <> 1) Then
		MsgBox($MB_SYSTEMMODAL, 'Ошибка', 'Ошибка открытия порта COM' & $iPort)
		Exit
	EndIf

	$LastValidDateTime = _NowCalc()

	While (True)
		$sInString = _CommGetString()
		If (StringLen($sInString)) Then
			$LastValidDateTime = _NowCalc()
		Else
			$iDiff = _DateDiff('s', $LastValidDateTime, _NowCalc())
			If ($iDiff > 3) Then
				ExitLoop
			EndIf
		EndIf
		Sleep(1000)
	WEnd

	; Звук потери сигнала GPS
	SoundPlay('C:\Windows\Media\Windows Hardware Fail.wav')

	; Если GpsGate аварийно завершилась, то будет ошибка при закрытии порта
	; Поэтому проверяем наличие запущенного процесса
	If ProcessExists("GpsGateXP.exe") Then
		_CommClosePort()
	EndIf

	WinClose("Franson GpsGate")
	Sleep(250)

WEnd
а вот скомпилированный файл
GpsGateWatcher.zip
, его надо положить в разархивированную папку со скриптом от LEXX09, после запуска скрипта появляется дополнительный файл..
Нажмите на изображение для увеличения
Название: 2015-08-11 23-34-43 Скриншот экрана.png
Просмотров: 820
Размер:	77.7 Кб
ID:	40727
, где 1 - скомпилированный файл (при создании простой задачи в планировщике задач, к нему указать путь);
2 - сам скрипт не компилированный;
3 - результат запуска скомпилированного файла..
Судя по всему, при создании задачи в планировщике задач на автозапуск данного скрипта, задачу на автозапуск гейта (если она уже была создана ранее нужно отключить), тк этот скрипт, по заявлению разработчика, гейт будет запускать... Осталось все это только проверить..
__________________
Windows 8.1, 64 бит, iCar DS 1.7.0.60
LGA 1155 Intel(R) Core(TM) i5-3570 CPU @ 3,4 GHz (6 Mb), 2x DDRIII 4Gb 1333 MHz KINGMAX, ASRock IntelB75, VGA (DVI+HDMI)+PCX16 3,0, SSD TOSHIBA OCZ tr150 на 240 GB, 2,5 Samsung SATA 1 Tb 5400 rpm, 8Mb, M4-atx -hv
Проект Кристалл-М=многоканальный звук в Lexus rx300 на базе CarPC!
Установка Windows, iCarDS и всего, что необходимо для CarPC!
_________________________________________


Последний раз редактировалось Krysanov; 13.08.2015 в 19:11. Причина: косяк в коде, исправил
Krysanov вне форума   Ответить с цитированием