Autoit: запустить программу, выбранную с помощью FileOpenDialog?

3559
user2723297

Мне нужно сделать сценарий, который позволяет пользователю запускать программное обеспечение с определенными параметрами (которые должны быть введены в). Итак, первый шаг, выберите exe. Во-вторых, поле ввода текста должно позволять пользователю вводить параметры. Я не могу сделать первый шаг.

Я попытался со вторым примером, найденным здесь: [ https://www.autoitscript.com/autoit3/docs/functions/FileOpenDialog.htm][1]

Единственная модификация - это команда «Выполнить», которую я добавил. Когда я запускаю скрипт, я вижу полный путь к файлу для исполняемого файла, но ничего не запускается. Я тоже не вижу ошибки:

include <FileConstants.au3> include <MsgBoxConstants.au3>  Example()  Func Example() ; Create a constant variable in Local scope of the message to display in FileOpenDialog. Local Const $sMessage = "Select a single file of any type."  ; Display an open dialog to select a file. Local $sFileOpenDialog = FileOpenDialog($sMessage, @WindowsDir & "\", "All (*.*)", $FD_FILEMUSTEXIST) If @error Then ; Display the error message. MsgBox($MB_SYSTEMMODAL, "", "No file was selected.")  ; Change the working directory (@WorkingDir) back to the location of the script directory as FileOpenDialog sets it to the last accessed folder. FileChangeDir(@ScriptDir) Else ; Change the working directory (@WorkingDir) back to the location of the script directory as FileOpenDialog sets it to the last accessed folder. FileChangeDir(@ScriptDir)  ; Replace instances of "|" with @CRLF in the string returned by FileOpenDialog. $sFileOpenDialog = StringReplace($sFileOpenDialog, "|", @CRLF)  ; Display the selected file. MsgBox($MB_SYSTEMMODAL, "", "You chose the following file:" & @CRLF & $sFileOpenDialog) Run($sFileOpenDialog) EndIf EndFunc ;==>Example 
2

1 ответ на вопрос

0
user2723297
#include <FileConstants.au3> #include <MsgBoxConstants.au3> Run_with_parameters() Func Run_with_parameters() Local Const $sMessage = "Select the program to be run." Local $sFileOpenDialog = FileOpenDialog($sMessage, @WindowsDir & "\", "All (*.*)", $FD_FILEMUSTEXIST) If @error Then MsgBox($MB_SYSTEMMODAL, "", "No file was selected.") FileChangeDir(@ScriptDir) Else FileChangeDir(@ScriptDir) $sFileOpenDialog = StringReplace($sFileOpenDialog, "|", @CRLF) Local $parameters = InputBox("Parameters", "Please type the parameters", "/?", "", _ - 1, -1, 0, 0) Run($sFileOpenDialog & " " & $parameters) EndIf EndFunc ;==>Run_with_parameters 

Похожие вопросы