【问题标题】:How can I create a “Open with” list as in Explore in my own application如何在我自己的应用程序中创建一个“打开方式”列表,就像在探索中一样
【发布时间】:2012-02-04 04:49:33
【问题描述】:

在我的应用程序中,用户可以选择对文件的引用,例如图像文件。我想制作一个带有箭头的按钮,该按钮可以打开系统上安装的程序的列表,女巫可以打开此文件类型。

我知道我可以从注册表“HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts”中获取程序名称,但是如何过滤掉没有意义的条目 - “DllHost.exe, miaui .exe 等" 以及如何使用用户选择的程序打开文件?

@ Lars Tech 如果我查看注册表“HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\”,然后查看扩展名“.jpg”的“OpenWithList”,我会看到更多条目,如果 rigt 单击 jpg文件并选择打开方式(见我的第一张图片),我只想要那些。 是的,有我自己正确添加的程序条目,但这对 jpg 文件没有任何意义。 Windows 可以过滤掉它们,我也会。

【问题讨论】:

  • 为什么不只托管标准上下文菜单?
  • 可以工作 - 我认为,但我该如何实现呢?
  • Start here 并完成 11 部分系列。
  • 如何定义“没有意义的条目”?在某些时候,您(或用户)必须选择这些文件才能打开该文件类型。
  • @Raymond Chen - 抱歉这个 C++ 东西超出了我的能力范围。

标签: c# registry open-with


【解决方案1】:

我认为您可以使用此article 来验证并找出其中哪些在您的应用程序中适用且有效

【讨论】:

  • 谢谢 Jan 它告诉我它比我希望的要复杂。现在,该功能被放回待办事项中。但无论如何谢谢。
【解决方案2】:

如果在 Vista 或更高版本上运行,您可以使用 'SHOpenWithDialog' http://msdn.microsoft.com/en-us/library/bb762234(v=vs.85).aspx - 这很简单... 延斯

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-07-12
    • 1970-01-01
    • 2011-10-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多