【问题标题】:Process.Start does not always workProcess.Start 并不总是有效
【发布时间】:2015-03-04 07:58:45
【问题描述】:

我创建了一个协议生成工具,它可以从网络源读取一些数据,允许用户过滤一些字段并根据给定的过滤数据生成协议。该协议以 Word 文档的形式生成,在向用户显示之前,该文档在多个层次上进行了多次编辑。

对于某些用户来说:

 Process.Start(pathtowordfile)

不打开 Word,对其他人来说它工作正常。

更奇怪的是:如果用户在第一次打开时尝试生成协议。如果他们更改其中一个过滤器并再次生成,则文件不会打开。但它是正确生成的,您可以手动打开它。

我们在所有机器上都使用 Windows 7,一般来说,用户在机器上没有管理员权限。

有什么替代方法

Process.Start()

?

【问题讨论】:

    标签: vb.net process.start


    【解决方案1】:

    不确定代码有时如何工作,但我认为关键是确保在尝试处理时设置 UseShellExecute=true。启动不是可执行文件的文件。 https://msdn.microsoft.com/en-us/library/system.diagnostics.processstartinfo.useshellexecute%28v=vs.110%29.aspx

    我已经有一段时间没有研究它了,但最后我检查了 shell 执行依赖于 Word 应用程序正确注册到 DDE,因此 Windows 知道如何处理 .doc(x) 文件。 Word 可能没有“正确”安装。

    【讨论】:

      【解决方案2】:

      在尝试了各种方法(包括 Wonko 的提示)之后,我决定使用 interop.Word.Word 应用程序来显示文档。它没有解释为什么 process.start 不能完成这项工作,但无论如何,现在每个用户都很高兴^^

      【讨论】:

        猜你喜欢
        • 2012-12-26
        • 1970-01-01
        • 1970-01-01
        • 2012-04-23
        • 2015-06-28
        • 2015-12-04
        • 2017-01-08
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多