C# 使用Process.Start时将文件名返回给
我使用的是非win forms程序,需要打开文件浏览器并返回用户选择的文件。我正在使用C# 使用Process.Start时将文件名返回给,c#,file,C#,File,我使用的是非win forms程序,需要打开文件浏览器并返回用户选择的文件。我正在使用Process.Start(“explorer.exe”、“select等”)打开文件资源管理器,但当我选择一个文件时,它只会打开该文件。是否有一种方法,当我选择文件时,它会将文件路径返回到一个变量 我肯定你的方法是错误的。正如[1]所述: /选择,打开具有指定文件夹、文件或文件夹的窗口视图 已选择应用程序 因此,/select命令行参数仅告诉资源管理器预先选择指定的文件夹或文件。它不用于返回任何用户选择 我建
Process.Start(“explorer.exe”、“select等”)
打开文件资源管理器,但当我选择一个文件时,它只会打开该文件。是否有一种方法,当我选择文件时,它会将文件路径返回到一个变量 我肯定你的方法是错误的。正如[1]所述:
/选择,打开具有指定文件夹、文件或文件夹的窗口视图
已选择应用程序
因此,/select
命令行参数仅告诉资源管理器预先选择指定的文件夹或文件。它不用于返回任何用户选择
我建议使用。即使您的应用程序不是纯Windows窗体应用程序,也可以使用此对话框。您只需要引用所需的程序集(System.Windows.Forms.dll
)和名称空间(使用System.Windows.Forms;
)
[1] 链接过时:我肯定你的方法是错误的。正如[1]所述: /选择,打开具有指定文件夹、文件或文件夹的窗口视图 已选择应用程序 因此,
/select
命令行参数仅告诉资源管理器预先选择指定的文件夹或文件。它不用于返回任何用户选择
我建议使用。即使您的应用程序不是纯Windows窗体应用程序,也可以使用此对话框。您只需要引用所需的程序集(System.Windows.Forms.dll
)和名称空间(使用System.Windows.Forms;
)
[1] 链接过期:OpenFileDialog类的可能重复项的可能重复项也位于
Microsoft.Win32
命名空间中,因此不需要引用System.Windows.Forms
。由于这是一个控制台应用程序,我想最好不要使用WinForms命名空间。谢谢您的建议。我只阅读了msdn,他们说OpenFileDialog
是在System.Windows.Forms
中声明的。如果它在没有引用的情况下工作…很好。这里->+1为了能够理解OP想要什么:)OpenFileDialog类也位于Microsoft.Win32
命名空间中,因此不需要引用System.Windows.Forms
。因为这是一个控制台应用程序,我想最好不要使用WinForms命名空间。谢谢你的建议。我只阅读了msdn,他们说OpenFileDialog
是在System.Windows.Forms
中声明的。如果它在没有引用的情况下工作…很好。这里->+1能够理解OP想要什么:)