Я пытаюсь запустить приложение из оболочки Windows с помощью VBScript. Приложение запускается без ошибок при запуске из QtCreator. Тем не менее, он выходит из строя при запуске из VBScript и завершается с кодом ошибки 255. Вот сценарий:Запуск приложения с использованием VBScript
Set objShell = WScript.CreateObject("WScript.Shell")
rv = objShell.Run("path\to\application.exe", 1 , True)
If rv <> 0 Then
MsgBox "Failed : " & rv
End If
WScript.Sleep 120000
objShell.Run "taskkill /im path\to\application.exe"
Set objShell = Nothing
Может кто-то пожалуйста, указать на то, что мне не хватает?
Какая строка вызывает сбой? Если вы не можете пройти через него с помощью отладчика, добавьте несколько операторов msgbox до и после ключевых команд, чтобы узнать, где он сбой. Эта информация будет большой помощью в ее отслеживании. –
Кстати, я использовал «C: \ Windows \ System32 \ calc.exe» для приложения (с более коротким временем сна для тестирования), и он работал нормально на 64-битной Windows 7. Обратите внимание, что «True «аргумент при первом вызове run() означает« ждать завершения приложения », так что больше нечего будет убивать позже, если другой процесс не запустит его? Убийство по имени может быть опасным. Я считаю, что есть способ начать процесс, а затем сохранить его идентификатор процесса (PID). После сна убейте PID, чтобы убедиться, что вы убиваете процесс, который вы начали, а не другое. Гораздо безопаснее. –
См. Это сообщение https://stackoverflow.com/questions/35298200/taskkill-exit-code-255, 255 может означать, что проблема связана с этим путем. Если вы его включили, отключите 'On Error Resume Next'. – langstrom