Что нового

Проблема с запуском второго файла,посредством первого.

renom

Новичок
Сообщения
127
Репутация
2
Оба редактора .au3 лежат в одной папке.
Первый называется 1.au3 и он имеет следующее содержание:

Код:
Sleep(2 * 1000)
Run("2.au3")


Содержание файла 2.au3:

Код:
Sleep(2 * 1000)
Beep(2 * 1000)
MsgBox(0, "hello","HI!")


Что не так сделал в первом редакторе?



Добавлено:
Сообщение автоматически объединено:

Кстати если второй файл компилировать в .ехе формат,то все работает нормально.
 

Yashied

Модератор
Команда форума
Глобальный модератор
Сообщения
5 379
Репутация
2 711
Потому что Run() воспринимает только исполняемые файлы. Используй ShellExecute().
 

XpycT

Скриптер
Сообщения
380
Репутация
132
renom
На скорую руку набросал
Код:
Sleep(2 * 1000)

$sAutoItDir = RegRead('HKEY_LOCAL_MACHINE\SOFTWARE\AutoIt v3\AutoIt', 'InstallDir')
Run($sAutoItDir & '\AutoIt3.exe /AutoIt3ExecuteScript "' & @ScriptDir & '\2.au3"', '')
 

Yashied

Модератор
Команда форума
Глобальный модератор
Сообщения
5 379
Репутация
2 711
Автор
R

renom

Новичок
Сообщения
127
Репутация
2
мм,а как действовать если они находятся в разных местах,эти файлы?
первый файл .au3:
Код:
Run("2.exe")


второй файл .ехе:
Код:
MsgBox(0, "test", "done")


По прежнему не получается.
 

Yashied

Модератор
Команда форума
Глобальный модератор
Сообщения
5 379
Репутация
2 711
Код:
Run("C:\Program Files\MyProg\2.exe")
 
Автор
R

renom

Новичок
Сообщения
127
Репутация
2
Yashied сказал(а):
Код:
Run("C:\Program Files\MyProg\2.exe")
Неа...
А это единственный способ?Потому что у меня даже такой папки нету.
 

XpycT

Скриптер
Сообщения
380
Репутация
132
renom [?]
Неа...
А это единственный способ?Потому что у меня даже такой папки нету.
:rofl: :rofl: :rofl:

OffTopic:
Помойму надо заводить тему для перлов нашего форума :whistle:


Код:
Dim $sFilePath = @ScriptDir ; Путь до файла который надо запустить
Dim $sFileName = "2.au3"               ; Название файла который надо запустить

If StringRight($sFileName, 3) = "exe" Then Run($sFilePath & '\' & $sFileName, '')
If StringRight($sFileName, 3) = "au3" Then Run(@AutoItExe & ' /AutoIt3ExecuteScript "' & $sFilePath & '\' & $sFileName & '"', '')
 
Автор
R

renom

Новичок
Сообщения
127
Репутация
2
XpycT сказал(а):
Не знаю про какую папку вы подумали,но я имел ввиду MyProg ;)
Если ее нужно создавать отдельно для такого случая - то это к сожалению не совсем то,что мне нужно.

тему можно закрывать.
 

XpycT

Скриптер
Сообщения
380
Репутация
132
renom [?]
Не знаю про какую папку вы подумали, но я имел ввиду MyProg
Именно про нее я и подумал.

Yashied привел такой путь и такое название папки, только в качестве примера. Вам же надо заменить на тот путь и, по которому у вас находить файл. ;)
 

CreatoR

Must AutoIt!
Команда форума
Администратор
Сообщения
8 472
Репутация
2 401
XpycT
Код:
$sAutoItDir = RegRead('HKEY_LOCAL_MACHINE\SOFTWARE\AutoIt v3\AutoIt', 'InstallDir')
Run($sAutoItDir & '\AutoIt3.exe /AutoIt3ExecuteScript "' & @ScriptDir & '\2.au3"', '')
А зачем там путь к AutoIt, есть же макрос @AutoItExe.
 
Верх