无法使用进程启动来启动exe

时间:2019-08-09 08:18:34

标签: c# wpf

我正在尝试复制开始菜单,我可以毫无问题地获得所有应用程序的路径。并设法获取指向目标exe的快捷方式的路径。我可以启动它们中的大多数而没有任何问题,但是其中一些(当前有一个,但我认为它们还会更多)失败,并出现以下错误

  

错误=>“ {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)\ Adob​​e \ Acrobat Reader DC \ Reader \ AcroRd32.exe

在我的机器上。它可以从开始菜单正常启动,如果我在资源管理器中双击它。

我已经查看了有关类似问题的所有其他问题,但没有一种解决方案似乎可以解决此问题。有人对此有任何想法吗?

1 个答案:

答案 0 :(得分:0)

以下内容在控制台应用程序和WPF应用程序中均可正常工作。

var exePath = @"C:\Program Files (x86)\Adobe\Acrobat Reader DC\Reader\AcroRd32.exe";
new Process {StartInfo = {FileName = exePath}}.Start();