[решено] @start MyLoader.exe + {PARAMETERS == %1 %*} как?

Ответить
 • Просмотры: 1
Аватара пользователя
semiono

[решено] @start MyLoader.exe + {PARAMETERS == %1 %*} как?

Сообщение semiono »

Помогите!

Я написал обычный загрузчик для проги, смысл в том, что он делает кое какие

дополнительные действия и потом обычно запускает модуль:



Код:

Код: Выделить всё

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... Очень похожие две функции.



Какое решение может быть есть? Изображение

Я ещё объясню если не очень понятно...
Аватара пользователя
SyDr

Re: [решено] @start MyLoader.exe + {PARAMETERS == %1 %*} как?

Сообщение SyDr »

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

Run позволяет запускать исполняемые файлы.



А здесь надо просто с параметрами командной строки работать.

Переменная $CmdLine[0] содержит число параметров в командной строке.

$CmdLine[1] - первый параметр.

$CmdLine[n] - n-ый параметр.

$CmdLineRaw - содержит всю строку параметров.



ShellExecute("HprSnap6.exe", $CmdLineRaw, @ScriptDir)

Запустит HprSnap6.exe с параметрами, которые были переданы скрипту при запуске.
Аватара пользователя
semiono

Re: [решено] @start MyLoader.exe + {PARAMETERS == %1 %*} как?

Сообщение semiono »

А можно узнать API используемые в автоит?

На msdn из функций директорий всего две - GetCurrentDirectory, SetCurrentDirectory.

А как тогда получается @ScriptDir ? Что за WinAPI это?
Аватара пользователя
semiono

Re: [решено] @start MyLoader.exe + {PARAMETERS == %1 %*} как?

Сообщение semiono »

Сам скрипт выполнит приложение с ошибкой. Надо компилить, так как скрипт сам есть параметр Изображение

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

Спасиб! Кажись работает!
Аватара пользователя
Creat0R

Re: [решено] @start MyLoader.exe + {PARAMETERS == %1 %*} как?

Сообщение Creat0R »

Цитата:



теряю возможность запуска с параметрами



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

Re: [решено] @start MyLoader.exe + {PARAMETERS == %1 %*} как?

Сообщение semiono »

Почему-то

Код:

Код: Выделить всё

ShellExecute("HprSnap6.exe", $CmdLineRaw, @ScriptDir)

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



батник:

@start C:\~\Apps\HprSnap\script.exe "%1" %*



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



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

хм. может батник кривой для этой задачи...
Аватара пользователя
Creat0R

Re: [решено] @start MyLoader.exe + {PARAMETERS == %1 %*} как?

Сообщение Creat0R »

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

Re: [решено] @start MyLoader.exe + {PARAMETERS == %1 %*} как?

Сообщение semiono »

Цитата Creat0R:



Хотя проблема для меня звучит смутно
[решено] @start MyLoader.exe + {PARAMETERS == %1 %*} как?




угу, без конкретных примеров кода, воспроизводящих результат, это гадание на кофейной гуще
Аватара пользователя
amel27

Re: [решено] @start MyLoader.exe + {PARAMETERS == %1 %*} как?

Сообщение amel27 »

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

Re: [решено] @start MyLoader.exe + {PARAMETERS == %1 %*} как?

Сообщение SyDr »

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

Вернуться в «AutoIt»