你怎么阻止Windows询问“你想如何打开这个文件?”当Process.Start失败?

时间:2018-02-12 19:24:46

标签: .net vb.net

考虑以下代码,它只是从VB.NET启动一个进程:

Public Shared Sub ShellandWait(ProcessPath As String, Optional Arguments As String = "")

    'Starts a process/program and waits for it to finish before execution continues.

    Using objProcess As New System.Diagnostics.Process

        objProcess.StartInfo.FileName = ProcessPath
        objProcess.StartInfo.Arguments = Arguments
        objProcess.StartInfo.WindowStyle = ProcessWindowStyle.Normal
        objProcess.StartInfo.ErrorDialog = False

        objProcess.Start()

        'Wait until the process passes back an exit code 
        objProcess.WaitForExit()

        'Free resources associated with this process
        objProcess.Close()

    End Using

End Sub

如果我们传入ProcessPath的文件名,说“C:\ test.xml”,但没有程序与.xml扩展名相关联,Windows 10会弹出一个框,询问“你想怎么打开这个文件?“

无论如何阻止Windows打开此弹出窗口?我希望这个场景可以在代码中处理而不是Windows插入本身。

编辑:我不想找到与扩展程序相关联的程序。在Process.Start失败的大多数情况下,将没有可用于处理文件类型的程序(我只使用xml作为示例)。我的代码目前警告用户没有找到相应的应用程序,但Windows的弹出窗口也显示,我觉得这很混乱。我只想禁用弹出窗口,如果可能的话。

0 个答案:

没有答案