无法通过进程启动启动 exe
Posted
技术标签:
【中文标题】无法通过进程启动启动 exe【英文标题】:Can't launch exe with process start 【发布时间】:2019-08-09 08:18:34 【问题描述】:我正在尝试复制开始菜单,我可以毫无问题地获取所有应用程序的路径。并设法获得了快捷方式的目标 exe 路径。我可以毫无问题地启动它们中的大多数,但其中一些(目前有一个,但我认为它们会更多)失败并出现以下错误
Error => "hex 处的指令引用了 hex 处的内存。内存 无法读取”
我试过了
Process.Start(pathToMyExe);
ProcessStartInfo processStartInfo = new ProcessStartInfo(pathToMyExe);
processStartInfo.UseShellExecute = false;
processStartInfo.WorkingDirectory = Path.GetDirectoryName(pathToMyExe);
Process.Start(processStartInfo);
ProcessStartInfo processStartInfo = new ProcessStartInfo(@"C:\Windows\System32\cmd.exe");
processStartInfo.Arguments = "/c \"" + pathToMyExe + "\"";
Process.Start(processStartInfo);
其中一些返回上述错误,有些则什么也没做。我要启动的文件是
Acrobat Reader DC
位于
C:\Program Files (x86)\Adobe\Acrobat Reader DC\Reader\AcroRd32.exe
在我的机器上。它从开始菜单启动正常,如果我在资源管理器中双击它。
我已经查看了有关类似问题的所有其他问题,但似乎没有一个解决方案适用于此。有没有人有办法解决这个问题?
【问题讨论】:
为什么通过将“AcroRd32.exe”作为参数传递给 cmd.exe 来打开它?为什么不直接启动呢? @Carbine,我认为 OP 正在展示他们尝试启动acrord32.exe
以解决他们所看到的问题的 三种 不同方式(Process.Start
,@ 987654324@ 通过ProcessStartInfo
和cmd.exe
),并不表示他们的意图是始终通过通过cmd.exe
传递应用程序来打开应用程序=)
您的问题无法重现。 Process.Start(@"C:\Program Files (x86)\Adobe\Acrobat Reader 2015\Reader\AcroRd32.exe")
在我的机器上运行良好(尽管路径略有不同)。
@Rob - 没错,首先尝试使用进程启动打开它,然后尝试其他方法,因为这对我不起作用。
@Clemens 我将不得不在另一台 PC 上尝试一下,看看我的设置是否有问题。谢谢
【参考方案1】:
以下在控制台应用程序和 WPF 应用程序中都可以正常工作。
var exePath = @"C:\Program Files (x86)\Adobe\Acrobat Reader DC\Reader\AcroRd32.exe";
new Process StartInfo = FileName = exePath.Start();
【讨论】:
以上是关于无法通过进程启动启动 exe的主要内容,如果未能解决你的问题,请参考以下文章
SogouCloud.exe进程导致SQL Server服务无法启动