Показать сообщение отдельно
Старый 25.02.2008, 21:16   #94
Alex_E
Пользователь
 
Аватар для Alex_E
 
Регистрация: 17.01.2008
Возраст: 55
Город: Москва
Регион: 77, 97, 99, 177
Машина: 2005\Peugeot\407
Сообщений: 73
Alex_E is on a distinguished road
По умолчанию Автозапускалка связки: "GPS TrackMaker"+"Google Earth"

Всем привет. Мой проект только в самом начале, поэтому я пока в стадии изучения. Кто-то на форуме спрашивал, как избежать появления сообщения в "Google Earth" об отсутствии подключения к интернет? Лично мне еще не нравится, что запускать связку: "GPS TrackMaker"+"Google Earth", дело не из приятных. А на ходу - вообще бессмысленное занятие. Поэтому сделал такую программку-скрипт с помощью "InqSoft Sign 0f Misery", которая выполняет все рутинные действия по запуску. Делал для себя, так что просьба не придираться. Выкладываю ее на общее обозрение - вдруг еще кому пригодится.

Кому интересны подробности, вот алгоритм:
1. Запускает программу "GPS TrackMaker". Путь: "C:\Program Files\TrackMaker\trackmaker.exe"
2. Ждет 2 сек, пропускает начальную заставку.
3. Ищет окно с заголовком: "GPS TrackMaker"
4. Эмулирует нажатие F12, запуская протокол "NMEA 0183"
5. Эмулирует нажатие SPACE на активной кнопке "Старт" (англ. "Start")
6. Ждет появления окна с заголовком: "Навигация в реальном времени" (англ. "Real-Time Navigation Console")
7. В окне "GPS TrackMaker" эмулирует нажатие SHIFT+F8.
8. Ждет появления окна с заголовком: "Google Earth"
9. Ждет появления окна с заголовком: "Предупреждение" (в случае отсутствия соединения с интернетом)
10. Эмулирует нажатие RIGHT ARROW, потом SPACE.
11. Ждет появления окна с кнопками и заголовком: "Google Планета Земля" (в случае отсутствия файла temp.kml, по причине отсутствия сигнала с GPS сенсора)
12. Эмулирует нажатие SPACE на активной кнопке "Пропустить".
Ограничение работы скрипта по времени - 3 минуты (чтобы не висел в памяти, если что-то не сработает).
На стадии тестирования программы, у меня один раз Google Earth восстановил настройки по умолчанию, при этом уменьшив размер кэша до 16 Мб. Я этот баг отловил, но на всякий случай на время первых запусков сделайте BackUp кэша, чтобы не потерять его.

В приложении два файла - один для англоязычной версии "GPS TrackMaker" v 13.3, второй для руссифицированной версии. "Google Earth" протестирован русскоязычный, версии 4.2.0205.5730 (должен быть проинсталлирован!). Ошибки не трассируются, поэтому если программа не обнаружит какое-то из окон, то просто остановится и выгрузится из памяти через 3 минуты. Такое возможно, например, когда выбрана не правильная языковая версия и т. д.

Про возможность наличия вирусов в файлах:
Я где-то уже встречал, что в компиляторе "InqSoft Sign 0f Misery" некоторые антивирусы находят троянов. Наверное потому, что это среда программирования, как бы конструктор. В нем и троянов могли писать, которые и попали в базу. Но по-любому осторожность не помешает.

Предлагаю хороший вариант: я выкладываю исходники. Из них можно самостоятельно скомпилировать .exe при помощи программы, скачанной отсюда: http://kickme.to/inqsoft Только лучше качать стабильную версию 2.68.

AlexxxV, если сам скомпилируешь, отпишись в личку, что скажет твой Norton на твои же exe-шники.

Дополнение 2 про вирус:
У AlexxxV антивирус ругается даже на установку самого компилятора
Вот "Panda", хоть и ругается, но честно говорит: "Constructor/Sign0fMisery"

Вывод такой - некоторые антивирусы не переваривают этот компилятор, поэтому многим придется отказаться от его использования (или от плохого антивируса )

Обновление файлов:
Я перекомпилировал другой версией "InqSoft Sign 0f Misery", теперь те антивирусы, что ругались молчат, но некоторые другие наоборот
Так же я сильно изменил алгоритм - теперь все лишние окна должен перехватывать (кому нужны подробности - смотрите исходники).
Вложения
Тип файла: zip GPS TrackMaker - Google Earth_Rus.zip (25.3 Кб, 203 просмотров)
Тип файла: zip GPS TrackMaker - Google Earth_Eng.zip (25.3 Кб, 170 просмотров)
Тип файла: zip Исходники.zip (963 байт, 522 просмотров)

Последний раз редактировалось Alex_E; 26.02.2008 в 20:13. Причина: Обновил файлы
Alex_E вне форума   Ответить с цитированием