Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » AutoIt » [решено] @start MyLoader.exe + {PARAMETERS == %1 %*} как?

Ответить
Настройки темы
[решено] @start MyLoader.exe + {PARAMETERS == %1 %*} как?

Аватара для semiono

Ветеран


Сообщения: 842
Благодарности: 33

Профиль | Отправить PM | Цитировать


Изменения
Автор: semiono
Дата: 21-04-2009
Помогите!
Я написал обычный загрузчик для проги, смысл в том, что он делает кое какие
дополнительные действия и потом обычно запускает модуль:
Код: Выделить весь код
ShellExecute("HprSnap6.exe", "", @ScriptDir)
Заморочка в том, что я люблю ещё батники привязывать к приложениею для поддержки консоли...
%SystemRoot%\system32\HprSnap.cmd:
Код: Выделить весь код
@start C:\~\Apps\HprSnap\HprSnap6.exe "%1" %*
REM но вместо этого надо запускать лоадер 
REM @start C:\~\Apps\HprSnap\HprSnap_Script_au3.exe "%1" %*
Но теперь с лоадером я теряю возможность запуска с параметрами:
# HprSnap C:\zzz.png

К сожалению такое не работает
ShellExecute("HprSnap6.exe", "%1", @ScriptDir)

А что такое opt_flag < Run ( "filename" [, "workingdir" [, show_flag[, opt_flag ]]] ) ?
Я не очень понимаю где и для чего юзать Run либо ShellExecute... Очень похожие две функции.

Какое решение может быть есть?
Я ещё объясню если не очень понятно...

-------
Полезное сообщение


Отправлено: 21:19, 21-04-2009

 

Аватара для SyDr

Старожил


Сообщения: 215
Благодарности: 62

Профиль | Отправить PM | Цитировать


ShellExecute позволяет открывать различные файлы. Также, как вы действуете с ними обычно: открыть, изменить, печать, открыть свойства.
Run позволяет запускать исполняемые файлы.

А здесь надо просто с параметрами командной строки работать.
Переменная $CmdLine[0] содержит число параметров в командной строке.
$CmdLine[1] - первый параметр.
$CmdLine[n] - n-ый параметр.
$CmdLineRaw - содержит всю строку параметров.

ShellExecute("HprSnap6.exe", $CmdLineRaw, @ScriptDir)
Запустит HprSnap6.exe с параметрами, которые были переданы скрипту при запуске.

-------

"Что мы думаем, знаем или во что верим в конце концов не так уж и важно.
Важно лишь то, что мы делаем."
Джон Раскин


Последний раз редактировалось SyDr, 21-04-2009 в 22:37. Причина: Опечатки >_<

Это сообщение посчитали полезным следующие участники:

Отправлено: 22:35, 21-04-2009 | #2



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.


Аватара для Creat0R

Must AutoIt


Сообщения: 3054
Благодарности: 1009

Профиль | Сайт | Отправить PM | Цитировать


Цитата:
теряю возможность запуска с параметрами
См. в справке, там есть примеры по работе с параметрами переданными в скрипт с внешних приложении.

-------
“Сделай так просто, как возможно, но не проще этого.”... “Ты никогда не решишь проблему, если будешь думать так же, как те, кто её создал.”

Альберт Эйнштейн

P.S «Не оказываю техподдержку через ПМ/ICQ, и по email - для этого есть форум. ©»

http://creator-lab.ucoz.ru/Images/Icons/autoit_icon.png Русское сообщество AutoIt | http://creator-lab.ucoz.ru/Images/Ic...eator_icon.png CreatoR's Lab | http://creator-lab.ucoz.ru/Images/Icons/oac_icon.png Opera AC Community

Это сообщение посчитали полезным следующие участники:

Отправлено: 23:08, 21-04-2009 | #3


Аватара для semiono

Ветеран


Сообщения: 842
Благодарности: 33

Профиль | Отправить PM | Цитировать


Сам скрипт выполнит приложение с ошибкой. Надо компилить, так как скрипт сам есть параметр
Это у меня похожие ошибки были с командами *.msi когда я не врубался, что это лишь правая часть для msiexec.exe
Спасиб! Кажись работает!

-------
Полезное сообщение


Отправлено: 23:26, 21-04-2009 | #4


Аватара для semiono

Ветеран


Сообщения: 842
Благодарности: 33

Профиль | Отправить PM | Цитировать


Почему-то
Код: Выделить весь код
ShellExecute("HprSnap6.exe", $CmdLineRaw, @ScriptDir)
из батника всегда запускается с параметрами, следовательно пустой параметр всегда вызывает глюк.

батник:
@start C:\~\Apps\HprSnap\script.exe "%1" %*

хотя сам скрипт.EXE напрямую кликом запускает прогу "тихо" и с параметрами тоже запускает корректно.

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

-------
Полезное сообщение


Отправлено: 23:57, 21-04-2009 | #5


Аватара для Creat0R

Must AutoIt


Сообщения: 3054
Благодарности: 1009

Профиль | Сайт | Отправить PM | Цитировать


semiono, Возможно параметры нужно в кавычки заключать? Хотя проблема для меня звучит смутно.

-------
“Сделай так просто, как возможно, но не проще этого.”... “Ты никогда не решишь проблему, если будешь думать так же, как те, кто её создал.”

Альберт Эйнштейн

P.S «Не оказываю техподдержку через ПМ/ICQ, и по email - для этого есть форум. ©»

http://creator-lab.ucoz.ru/Images/Icons/autoit_icon.png Русское сообщество AutoIt | http://creator-lab.ucoz.ru/Images/Ic...eator_icon.png CreatoR's Lab | http://creator-lab.ucoz.ru/Images/Icons/oac_icon.png Opera AC Community


Отправлено: 01:47, 22-04-2009 | #6


Аватара для semiono

Ветеран


Сообщения: 842
Благодарности: 33

Профиль | Отправить PM | Цитировать


Какой-то нонсенс! Когда на вход попадает file.png то скрипт это корректно передаёт через маску "%1"
Но когда на входе пусто, то скрипт эту же маску считает за файл и пытается загрузить %1 как будто это картинка!
Правда я одно не понимаю это происходит на входе скрипта или на входе HprSnap6.exe приложения которое скрипт
запускает с передачей параметров. Хотя не легче если б знал.

-------
Полезное сообщение


Отправлено: 03:52, 22-04-2009 | #7


Googler


Сообщения: 3665
Благодарности: 1563

Профиль | Отправить PM | Цитировать


Цитата Creat0R:
Хотя проблема для меня звучит смутно »
угу, без конкретных примеров кода, воспроизводящих результат, это гадание на кофейной гуще

Отправлено: 07:19, 22-04-2009 | #8


Аватара для SyDr

Старожил


Сообщения: 215
Благодарности: 62

Профиль | Отправить PM | Цитировать


Я тоже не экстрасенс. Может быть вы просто не проверяете в скрипте, есть параметры или их нет?

-------

"Что мы думаем, знаем или во что верим в конце концов не так уж и важно.
Важно лишь то, что мы делаем."
Джон Раскин

Это сообщение посчитали полезным следующие участники:

Отправлено: 08:27, 22-04-2009 | #9


Аватара для semiono

Ветеран


Сообщения: 842
Благодарности: 33

Профиль | Отправить PM | Цитировать


Да не проверяю, потому что не умею. Для меня это именно трудная задача...
Логически мыслить могу, но надо ещё и опыт в скрипте иметь.
Параллельно на ассемблере пытался тоже это разрешить
И надо сказать не трудней чем на автоите. Но косяков тоже понаделал...

Всё верно, самое главное проверить, есть ли на входе параметры или нет и соответственно этому
запускать программу, либо с переданными в неё параметрами либо наголо как есть!
Я извиняюсь, но я много итак написал чтоб объяснить, скрипт не могу, так как я сам это спрашиваю.


Если честно, то я не очень понял как это использовать
$CmdLine[1] - первый параметр.
$CmdLine[n] - n-ый параметр.

Потому как кроме $CmdLineRaw и $CmdLine[0] в ShellExecute("HprSnap6.exe", $CmdLineRaw, @ScriptDir) ничего не впихнуть. Через & чтоли? Но их связки тоже либо мне не понятно либо смысл какой!
$CmdLine[0] & $CmdLine[1] & $CmdLine[2] когда в документации чё-то сказанно типа 0 - это сам файл чтоль...
Вообщем я это не осилил.

Sylver Dragon, подскажи как проверять?

-------
Полезное сообщение


Отправлено: 17:21, 22-04-2009 | #10



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » AutoIt » [решено] @start MyLoader.exe + {PARAMETERS == %1 %*} как?

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
Интернет - Tcpip\Parameters\PersistentRoute Rock Microsoft Windows 2000/XP 5 09-12-2011 02:27
[решено] Интересует куда делись Regedit.exe | NTSD.exe | NETSETUP.exe | TELNET.exe Ricardo Проект WinStyle 11 30-07-2009 23:36
Почему Windows при запуске файла с именем "start.exe" показывает кнопки как "Пуск"? Котяра Хочу все знать 9 22-06-2009 13:48
Как установить Vista Start Menu? МИШАНЧИК Автоматическая установка приложений 7 11-01-2008 14:21
Pop-up window parameters oIo_DeN_oIo Вебмастеру 2 14-08-2005 20:56




 
Переход