Страница 5 из 8

Re: Помощь по установке на магнитолу, драйвера, автозагрузка

СообщениеДобавлено: 20 окт 2014, 17:46
ayn
If(ProcExists("hobd.hobd.exe"))
Sleep(300)
Else
Run("\SDMMC\hobd\hobd.exe")
Show("hobd")
EndIf
aedpath = "\SDMMC\AutoEnterDriver.exe"
hdpath = "\SDMMC\hobd\hobd.exe"
#navipath = "\SDMMC\7WAYS\7WAYS.exe"
Run(aedpath)
Run(hdpath)
может вот так? Попробовать

Re: Помощь по установке на магнитолу, драйвера, автозагрузка

СообщениеДобавлено: 20 окт 2014, 19:06
Captain SHOK
Ну, во-первых, тут, видимо, ошибка
If(ProcExists("hobd.hobd.exe"))

Во-вторых, эта задержка ничего не дает
Sleep(300)

В-третьих, на проверку процесса лучше не ссылаться, так как в winCE версии хобдрайва, есть косяк: процесс остается висеть даже после выхода из программы, соответственно, повторный запуск программы возможен не на всех устройствах (у меня, например не запускается, если висит процесс)
В-четвертых, нет смысла в этой строке
Run("\SDMMC\hobd\hobd.exe")

т.к. это одно и тоже с
hdpath = "\SDMMC\hobd\hobd.exe"
Run(hdpath)

т.е. получится двойной запуск программы, что приведет к пункту "в-третьих".
Поэтому лучше попробовать так:

Код: Выделить всё
folder = SystemPath("ScriptPath")
If(WndExists("/hobd"))
   Show("/hobd")
   Exit
ElseIf(ProcExists("hobd.exe"))
   Kill("hobd.exe"))
   aedpath = "\SDMMC\AutoEnterDriver.exe"
   hdpath = "\SDMMC\hobd\hobd.exe"
   #navipath = "\SDMMC\7WAYS\7WAYS.exe"
   Run(aedpath)
   Run(hdpath)
   WaitForActive("/hobd", 100)
   Show("/hobd")
   Exit
Else
   aedpath = "\SDMMC\AutoEnterDriver.exe"
   hdpath = "\SDMMC\hobd\hobd.exe"
   #navipath = "\SDMMC\7WAYS\7WAYS.exe"
   Run(aedpath)
   Run(hdpath)
   WaitForActive("/hobd", 100)
   Show("/hobd")
   Exit
EndIf

Re: Помощь по установке на магнитолу, драйвера, автозагрузка

СообщениеДобавлено: 20 окт 2014, 19:22
ayn
В связи с моей малограмотностью 3 вопроса:
1. Как расписать scriptpath и где указать?
2. Зачем убивать процесс hobdrive?
3. Сколько получится файлов msr?

Re: Помощь по установке на магнитолу, драйвера, автозагрузка

СообщениеДобавлено: 20 окт 2014, 19:50
Captain SHOK
1. Как расписать scriptpath и где указать?

Эту строку folder = SystemPath("ScriptPath") можно не писать, скопировал машинально. Она нужна если путь указывать не полный, а простой, если скрипт лежит в той же папке, т.е. будет так: Run(folder\"hobd.exe")
Лучше вместо этой строки написать
Код: Выделить всё
Errorlevel("warn")

Чтобы выводились ошибки, если они будут.
2. Зачем убивать процесс hobdrive?

Не hobdrive (это для полной версии), а hobd.exe. Убивается для того, чтобы он не висел в памяти, если окно с программой не существует. Я об этом писал в пункте "в-третьих".
3. Сколько получится файлов msr?

Один

Re: Помощь по установке на магнитолу, драйвера, автозагрузка

СообщениеДобавлено: 20 окт 2014, 20:01
ayn
Для меня скрипт не совсем понятен, но я конечно попробую, мне кажется, что проблема самого первого скрипта в том, что при попытке вызова из под оболочки хобдрайва, скрипт не находит окно с запросом драйвера и останавливается, т.к. программа уже запущена?

Re: Помощь по установке на магнитолу, драйвера, автозагрузка

СообщениеДобавлено: 20 окт 2014, 21:00
Captain SHOK
Ну допустим, что он не находит окно драйвера? И что из этого? Окно программы хобдрайва никак не связано с окном драйвера, соответственно оно должно открываться. Оно откроется, если даже вообще драйвер не подгружать. К тому же в скрипте не было ни одного условия ждать появления окна драйвера.

Re: Помощь по установке на магнитолу, драйвера, автозагрузка

СообщениеДобавлено: 20 окт 2014, 22:16
Captain SHOK
Я немного неправильный скрипт написал пару постами выше. Нужен такой
Код: Выделить всё
Errorlevel("warn")
If(WndExists("/hobd"))
   Show("/hobd")
   Exit
ElseIf(ProcExists("hobd.exe"))
   Kill("hobd.exe"))
   aedpath = "\SDMMC\AutoEnterDriver.exe"
   hdpath = "\SDMMC\hobd\hobd.exe"
   #navipath = "\SDMMC\7WAYS\7WAYS.exe"
   Run(aedpath)
   Run(hdpath)
   WaitFor("/hobd", 100)
   Show("/hobd")
   Exit
Else
   aedpath = "\SDMMC\AutoEnterDriver.exe"
   hdpath = "\SDMMC\hobd\hobd.exe"
   #navipath = "\SDMMC\7WAYS\7WAYS.exe"
   Run(aedpath)
   Run(hdpath)
   WaitFor("/hobd", 100)
   Show("/hobd")
   Exit
EndIf

Re: Помощь по установке на магнитолу, драйвера, автозагрузка

СообщениеДобавлено: 21 окт 2014, 10:46
ayn
"Разобрал" всю программу по полочкам предусмотрено все, я бы и на 10 % так не смог , ошибок в программе нет, но она не работает, т. е проходит только путь к драйверу, хобдрайв не запускается, возможно не показывается из под оболочки. При запуске через тотал запускается хобдрайв, но после выхода в меню автомагнитолы возвращение в хобдрайв не возможно (может быть, что приоритет оболочки не дает вызвать окно хобдрйва. Да кстати если поставить во второй половине условия скрипта вместо Run(hdpath) команду RunWait(hdpath), то скрипт запускает хобдрайв, но все так же при переходе в меню автомагнитолы вернуться в хобдрайв не возможно. Если подключать хобдрайв по такому алгоритму: 1.(в оболочке) выходим в настройку
ГУ и вместо запуска навигации указываем AutoEnterDriver.exe, при нажатиии кнопки " Нави" устанавливается путь к драйверу.
2. Возврат в меню ГУ и вместо навигации указываем SDMMC\hobd\hobd.exe" запускается после нажатия (нави) хобдрайв и все работает как надо, т,е . в дальнейшем нажав (нави ) переходим спокойно в меню ГУ и возврат в хобдрайв. Возможно ли составить скрипт имитирующий нажатие в нужном месте кнопок?

Re: Помощь по установке на магнитолу, драйвера, автозагрузка

СообщениеДобавлено: 21 окт 2014, 11:31
Captain SHOK
Возможно ли составить скрипт имитирующий нажатие в нужном месте кнопок?

Возможно, если оболочка и навигационная часть управляются одной системой. Но на китайских магнитолах обычно оболочкой управляет свой процессор, а навигационной частью свой.
MouseClick(X,Y)
где X и Y координаты по оси X и оси Y соответственно. Если разрешение экрана 800х480, то значение X может быть от 0 до 800, Y от 0 до 480.
А что за магнитола такая?
А если не устанавливать драйвер, хобдрайв запускается? И запускается ли он не напрямую, а через скрипт, т.е. если в скрипте удалить строки запускающие драйвер и оставить только строки запускающие хобдрайв?

Re: Помощь по установке на магнитолу, драйвера, автозагрузка

СообщениеДобавлено: 21 окт 2014, 13:52
ayn
Хобдрайв без драйвера запускается, но установить драйвер после запуска хобдрайва невозможно, т.к. не появляется окно с запросом. Вот ссылка по автомагнитолеhttp://playavto.ru/magnitoly-na-baze-windows-ce/universalnye-magnitoly/2din-magnitola-lt-69568-nissan-s-2007-goda-s-razresheniem-800480-gps-3d/

Re: Помощь по установке на магнитолу, драйвера, автозагрузка

СообщениеДобавлено: 21 окт 2014, 13:59
ayn
Все равно не могу понять как обойти RunWait без которого не проходит скрипт и с которым навозможно достать из под оболочки хобдрайв.

Re: Помощь по установке на магнитолу, драйвера, автозагрузка

СообщениеДобавлено: 22 окт 2014, 12:25
Captain SHOK
Странная логика работы ГУ. Нужно попробовать запустить вместо навигации или хобдрайва альтернативную оболочку, а уже из под нее запускать все остальное. Или найти в реестре ключи куда прописывается драйвер и писать скрипт на импорт реестра вместо установки драйвера. Завтра буду дома скину простейшую оболочку для навигации.

Re: Помощь по установке на магнитолу, драйвера, автозагрузка

СообщениеДобавлено: 22 окт 2014, 15:42
ayn
Спасибо заранее в реестре ковыряться не хочется, альтернативное меню интереснее.
Но хотя скриптом заносить в реестр данные можно просто не знаю как это правильно делать, но в принципе упрямства хватит добить магнитолу и купить с сохраняемым реестром.

Re: Помощь по установке на магнитолу, драйвера, автозагрузка

СообщениеДобавлено: 22 окт 2014, 23:16
Captain SHOK
Попробуй скрипт во вложении!
Папку Start положи в корень карты памяти и запускай run.exe.
Скрипт AutoEnterDriver я исключил, добавив его в скрипт run. Только проверь пути, где у тебя лежат dll.
Код: Выделить всё
Errorlevel("warn")
Title = "Unidentified USB Device"
DriverPath = "\SDMMC\usbseralg.dll"
#DriverPath = "\SDMMC\ftdi_ser.dll"

If(NOT ProcExists("hobd.exe"))
   Run("\SDMMC\start\start.exe")
   sleep(500)
   WaitForActive(Title, 100)
   SendKeys(Title, DriverPath)
   SendOK(Title)
   sleep(1000)
   Run("\SDMMC\hobd\hobd.exe")
   WaitForActive("/hobd", 100)
   kill("start.exe")
   Exit
ElseIf(WndExists("/hobd"))
   Run("\SDMMC\start\start.exe")
   Show("/hobd")
   WaitForActive("/hobd", 100)
   kill("start.exe")
   Exit
ElseIf(ProcExists("hobd.exe"))
   Run("\SDMMC\start\start.exe")
   Kill("hobd.exe"))
   sleep(500)
   Run("\SDMMC\hobd\hobd.exe")
   WaitForActive("/hobd", 100)
   kill("start.exe")
   Exit
EndIf

Re: Помощь по установке на магнитолу, драйвера, автозагрузка

СообщениеДобавлено: 23 окт 2014, 07:55
ayn
не видно прописывается ли в окне путь к драйверу, пишет ошибка в 9-ой линии WaitForActive(Title, 100) после блокировки строки , после 4 или 5 нажатий на 1 сек. высвечивается окно хобдрайва и уходит под оболочку и больше не показывается ни при каких условиях.

Re: Помощь по установке на магнитолу, драйвера, автозагрузка

СообщениеДобавлено: 23 окт 2014, 10:34
ayn
попробовал изменить вот этот драйвер
Title = "USB"
DriverPath = "\ResidentFlash\usbseralg.dll
While ( TRUE )
If ( WndExists(Title) )
SendKeys(Title,DriverPath)
SendOK(Title)
Exit
EndIf
Sleep(1000)
EndWhileм
aedpath = "\SDMMC\AutoEnterDriver.exe"
hdpath = "\SDMMC\hobd\hobd.exe"
Copy("\ResidentFlash\usbseralg.dll", "\Windows\")
Run(aedpath)
Sleep(50000)
Run(hdpath)

после 2-х нажатий кнопки "НАВИ" через минуту появляется окно хобдрайва, в течении 1 минуты остается активным, потом уходит под оболочку, при нажатий кнопки "НАВИ" через минуту пояляется на 1 минуту и так далее. При этом хобдрайв соединяется и работает.

Re: Помощь по установке на магнитолу, драйвера, автозагрузка

СообщениеДобавлено: 23 окт 2014, 11:51
Captain SHOK
А в этом скрипте непонятно что происходит: сначала устанавливается драйвер, потом выход из скрипта, при следующем нажатии нави опять установка драйвера, потом ненужная пауза в 50 сек, а потом только запуск хобдрайва, а при следующем нажатии нави опять установка драйвера и опять пауза 50 сек. и т.д. А так как в этом скрипте есть цикл while, вот и повторяется все каждые 50с + 1с, т.е. каждую 51с, а не минуту.

Re: Помощь по установке на магнитолу, драйвера, автозагрузка

СообщениеДобавлено: 23 окт 2014, 13:40
Captain SHOK
пишет ошибка в 9-ой линии WaitForActive(Title, 100)

Это значит окно с заголовком "Unidentified USB Device" не появляется.
А окно драйвера называется "Unidentified USB Device"? Или там иероглифы? Тогда нужно оставить только "USB" в строке Title = "Unidentified USB Device".
Также строку Show("/hobd") можно поменять на Run("\SDMMC\hobd\hobd.exe")
На wince 6, в этом случае, если запущен хобдрайв, то откроется окно, а вот на wince5 это приводит к зависанию.

П.С. А в системных настройках хобдрайва случайно не стоит галка запускать скрытым?

Re: Помощь по установке на магнитолу, драйвера, автозагрузка

СообщениеДобавлено: 23 окт 2014, 16:03
ayn
Иероглифы конечно , но это я исправлял и путь также окно с хобдрайвом показывалось буквально на 1 секунду. А вот насчет галки в системных это надо проверить. С заменой строки я тебя не понял. Объясни пожалуйста как пишется скрипт с нажатием на экран поподробней. И альтменю.

Re: Помощь по установке на магнитолу, драйвера, автозагрузка

СообщениеДобавлено: 23 окт 2014, 19:16
Captain SHOK
Ну попробуй меню.
Папку WolfNCU в корень sd карты, запуск через исправленный AutoRunHobdrive.
Если откроется меню, то там уже нажать на HOBD.