Что нового

Как исправить ошибку ErrorStdOut?

Eivanov

Новичок
Сообщения
8
Репутация
0
Встала небольшая задача по оптимизации - запуск стороннего приложения.
Решил попробовать AutoIt

Код:
AutoItSetOption('MouseCoordMode', 0)
Run(@ScriptDir & "\Profwiz.exe")
WinWaitActive("User Profile Wizard", "Welcome to the User Profile Wizard")
MouseClick("primary", 481, 540, 1, 0)


Вывод
"C:\Program Files (x86)\AutoIt3\SciTE\..\AutoIt3.exe" /ErrorStdOut "C:\Users\User\Documents\AutoitProwiz\Script.au3"
//Скрипт в трее - но ничего не происходит
// Закрываю скрипт в трее из его меню
>Exit code: 0

В чем ошибка?
 

Alecsis

Осваивающий
Сообщения
59
Репутация
27
Навскидку 4 варианта:
  • Profwiz.exe не «лежит рядом» со скриптом, например неверно указано имя .exe-шника;
  • с .exe-шником всё в порядке, но по какой-то причине он не запустился;
  • неверно задан заголовок и/или текст окна;
  • Profwiz запустился, но его окно не на переднем плане (лечится связкой WinWait(…) + WinActivate(…)
 
Последнее редактирование:
Автор
E

Eivanov

Новичок
Сообщения
8
Репутация
0
Profwiz.exe не «лежит рядом» со скриптом, например неверно указано имя .exe-шника;
Проверял - всё верно.
но по какой-то причине он не запустился
по какой?

неверно задан заголовок и/или текст окна
даже если так, почему экзешник не запустился?
 

Alecsis

Осваивающий
Сообщения
59
Репутация
27
Проверял - всё верно.

по какой?


даже если так, почему экзешник не запустился?
А он точно не запустился? Вставим проверку наподобие
Код:
$iPID = Run(@ScriptDir & "\Profwiz.exe")
If Not $iPID Then 
    ConsoleWrite('***ERROR*** ' & @CRLF)
    Exit 111
EndIf

и если облом, то копаем, почему именно… мб не указаны какие-то обязательные параметры или ХЗ что там ещё
 
Автор
E

Eivanov

Новичок
Сообщения
8
Репутация
0
Да, с оригинальным файлом Profwiz.exe - скрипт пишет в консоли ошибку.
Заменил оригинальный файл Profwiz.exe на другой (свой) exe файл, переименовав его в Profwiz.exe (подменил - а вдруг дело в пути или имени)
Мой exe файл запустился.

Похоже, что дело конкретно в Profwiz.exe.
Но:
1) Двойной клик запускает эту программу. Возможно у неё есть и ключи, но как я и сказал - кликнул дважды и всё работает.
2) Написал свое приложение на C# для запуска Profwiz.exe. Всё запустилось.

Код C#
Код:
static void Main(string[] args)       
{
Process process = new Process();
process.StartInfo.FileName = "Profwiz.exe";
 process.Start();
 }


То есть программа на C# без проблем запускает Profwiz.exe , а autoit не может?
Вроде оба продукта от майкрософт.

PS
Программа Profwiz.exe - это популярная программа для переноса профиля.
 
Автор
E

Eivanov

Новичок
Сообщения
8
Репутация
0
При запуске из проводника появляется запрос прав администратора?
Нет - никакого запроса нет. Все действия провожу под учетной записью локального администратора.
Галка - запускать программу от имени администратора тоже не дает никакого результата.
Антивируса на компьютере нет - есть встроенный в win10 дефендер. Его отключал - всё аналогично.
(RequireAdmin добавлял ранее - аналогично не запускает Profwiz.exe).

И писал ранее
То есть программа на C# без проблем запускает Profwiz.exe

Странная ситуация.
Autoit - запускает мое самописное приложение. Но не может запустить Profwiz.exe.
Программа на c# запускает Profwiz.exe.

Возможно, Autoit нужны какие либо доп параметры запуска?
Сообщение автоматически объединено:

При запуске из проводника появляется запрос прав администратора? Если да, то добавьте в начало скрипта
Код:
#RequireAdmin
Ещё раз добавил. Странно, заработало.
 
Последнее редактирование:
Верх