从 vb.net 执行 AutoIt 脚本时,没有应用程序与此操作的指定文件关联

发布于 2024-11-18 20:42:21 字数 719 浏览 3 评论 0原文

我已经在我的机器上安装了 AutoIt。它在一台机器上工作正常,但相同的配置和代码在其他机器上不起作用。知道我缺少什么吗?

出现以下错误

 Could not start process Z:\test\AutoItScripts\test.au3  
 No application is associated with the specified file for this operation

autoit 脚本也从命令行成功执行。它只是在使用以下代码执行时出现此错误

        objProcess = New System.Diagnostics.Process()
        objProcess.StartInfo.Verb = "runas"
        objProcess.StartInfo.Arguments = Argument
        objProcess.StartInfo.FileName = ProcessPath
        objProcess.Start()
        'Wait until it's finished
        objProcess.WaitForExit()
        'Exitcode as String
        Console.WriteLine(objProcess.ExitCode.ToString())
        objProcess.Close()

I have installed AutoIt on my machine. Its working ok on one machine but same configuration and code is not working on other. Any idea what I am missing?

Following error

 Could not start process Z:\test\AutoItScripts\test.au3  
 No application is associated with the specified file for this operation

Also autoit script successfully executes from command line. Its just getting this error while using the following code to execute

        objProcess = New System.Diagnostics.Process()
        objProcess.StartInfo.Verb = "runas"
        objProcess.StartInfo.Arguments = Argument
        objProcess.StartInfo.FileName = ProcessPath
        objProcess.Start()
        'Wait until it's finished
        objProcess.WaitForExit()
        'Exitcode as String
        Console.WriteLine(objProcess.ExitCode.ToString())
        objProcess.Close()

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

情深如许 2024-11-25 20:42:21

由于 AutoIt3 脚本本身不可执行,因此您需要使用 shellexecute。

p.UseShellExecute = true;

Because AutoIt3 scripts are not themselves executable, you will need to be using shellexecute.

p.UseShellExecute = true;
岁月流歌 2024-11-25 20:42:21
Process compiler = new Process();
compiler.StartInfo.FileName = sExeName;
compiler.StartInfo.Arguments = sParameters;
compiler.StartInfo.UseShellExecute = false;
compiler.StartInfo.RedirectStandardOutput = true;
compiler.Start();
Console.WriteLine(compiler.StandardOutput.ReadToEnd());
Process compiler = new Process();
compiler.StartInfo.FileName = sExeName;
compiler.StartInfo.Arguments = sParameters;
compiler.StartInfo.UseShellExecute = false;
compiler.StartInfo.RedirectStandardOutput = true;
compiler.Start();
Console.WriteLine(compiler.StandardOutput.ReadToEnd());
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文