我正在编写一个C#Windows应用程序来可视化和修改'.build'文件(nant脚本)。我希望用户能够在Windows资源管理器中右键单击.build文件并选择“打开方式>”允许在我的应用程序中修改文件的选项。
我的程序需要支持什么才能使用此机制? 我的程序可能需要做什么才能启用上下文菜单支持?
我想知道是否有人能指出我关于这个主题的好文章/教程的方向。
答案 0 :(得分:4)
Open With命令只是传递文件的路径作为应用程序的第一个参数,所以你需要做的就是
public static void Main(string[] args)
{
if(args[0] != null)
{
//args[0] contans a path to the file do whatever you need to do to display it
}
else
{
//Start normally
}
}
要自动将您的程序置于列表中,您需要在HKEY_CLASSES_ROOT\YOUR_EXT\
中添加一些注册表项。 Here is a SO answer说怎么做
或者您可以手动将其添加到打开状态,并以正常方式列出。
答案 1 :(得分:2)
看一下这篇博文:Shell Extensions - Context Menu。它有一个简单的“包装器”代码,用于Windows shell上下文菜单的某些COM挂钩。将它放在GAC中,当您右键单击时,您的菜单将作为右键单击上下文菜单的子菜单包含在内。
严格使用“Open With ...”使您的应用程序仅显示它可以打开的文件,这样会更容易一些。这些由Windows在注册表中的两个位置使用注册表项进行管理:
使用regedit查看一些现有的,然后使用Registry类为您想要的扩展创建一个新密钥。