我正在尝试复制开始菜单,我可以毫无问题地获得所有应用程序的路径。并设法获取指向目标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)\ Adobe \ Acrobat Reader DC \ Reader \ AcroRd32.exe
在我的机器上。它可以从开始菜单正常启动,如果我在资源管理器中双击它。
我已经查看了有关类似问题的所有其他问题,但没有一种解决方案似乎可以解决此问题。有人对此有任何想法吗?
答案 0 :(得分:0)
以下内容在控制台应用程序和WPF应用程序中均可正常工作。
var exePath = @"C:\Program Files (x86)\Adobe\Acrobat Reader DC\Reader\AcroRd32.exe";
new Process {StartInfo = {FileName = exePath}}.Start();