c# 打开文件总是显示“打开方式”对话
我有 ac# 应用程序,它下载文件,并且应该始终显示“打开方式”对话框,无论扩展名是否是已知扩展名。
我尝试过
global::System.Diagnostics.Process.Start("rundll32.exe",
string.Format("shell32.dll,OpenAs_RunDLL \"{0}\"", filename));
,但是当我尝试打开 .png 文件时,“打开方式”对话框不会显示,并且该文件会使用我的默认图像查看器打开。
用户应该能够选择一个应用程序(例如,他可能想编辑文件而不是查看文件)。有没有办法强制 Vista 显示打开对话框,以便用户可以选择?
I have a c# application, which downloads a file, and should always show the Open With dialog, regardless if the extension is a known extension or not.
I tried
global::System.Diagnostics.Process.Start("rundll32.exe",
string.Format("shell32.dll,OpenAs_RunDLL \"{0}\"", filename));
but, when I try to open a .png file, the "Open With" dialog does not show and the file gets opened with my default image viewer.
The user should be able to choose an application (eg. maybe he wants to edit the file instead of viewing it). Is there a way to force Vista to show the open with dialog, so the user can choose ?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
我相信这篇文章就是您正在寻找的内容:
从以下位置调用“打开方式”对话框您的应用程序,使用 C#
该代码也应该可以在 Vista 中运行。
This article is what you're looking for, I believe:
Calling the Open With dialog box from your application, using C#
The code should work in Vista too.