【发布时间】:2017-10-21 10:23:10
【问题描述】:
Process.Start("d:/test.txt"); //simple .txt file 在 Windows 8 及更高版本上运行良好,但在 Windows 7 (x64) 上它会启动进程并立即关闭它。
我已经尝试过以下方法:
通过
ProcessStartInfo调用并设置CreateNoWindow=true、UseShellExecute=true和Verb="runas"(虽然不知道为什么我必须设置这个)。尝试附加
Exit事件,它确认进程确实开始但它立即退出,我什至没有看到记事本窗口打开一秒钟。
编辑:我已经用图像文件和一些其他扩展进行了尝试,它们打开得非常完美。 .txt 文件(和/或可能其他格式)有问题。
【问题讨论】:
-
试试
Process.Start("notepad.exe", "d:/test.txt"); -
这也行不通。我想保持通用,即应该打开任何文件扩展名。
-
该代码在我的 Win7 机器上运行良好,正如它应该的那样。也可能是因为您的程序被编译为 x86 而操作系统(如 shell 或它所指向的)是 x64。
-
这不是操作系统造成的...您有任何异常吗?您确定当前用户有权访问该文件吗?如果你在高架上运行它会起作用吗?
Process.Start("notepad");有效吗?你能在那台机器上运行记事本吗?我建议您尝试创建一个新用户并尝试使用新帐户中的相同代码。 -
这听起来像是一个 UAC 问题;尝试将“test.txt”移动到 %PUBLIC% 或 %APPDATA%。或者尝试以管理员身份运行您的程序。
标签: c# windows-7 process.start