如何自定义Windows默认右键单击弹出菜单

时间:2009-12-16 02:50:35

标签: c++ windows popup

我有两个问题。我的第一个是,我如何“将”某些东西放入默认窗口右键单击弹出菜单?我的意思是,如果我在.exe上用鼠标右键单击,那么默认的东西就会出现(比如剪切,复制,发送,运行......),但是我怎么能在那里添加一行,比如“MyApp” “,这将启动我的申请?我想用c ++完成所有这些。 我的第二个问题是,如何从弹出菜单中获取我已启动MyApp的文件名(或完整路径)?

提前感谢!

kampi

2 个答案:

答案 0 :(得分:1)

检查此stackoverflow帖子:Adding item to the Desktop context menu in Windows

  

此类处理程序必须在HKCR \ Directory \ Background中注册,而不是像HKCR \ Directory,HKCR \ Folder等常用位置。

     

Check out Creating Shell Extension Handlers in MSDN.

     

关于CodeProject的一系列文章详细介绍了编写Shell Extensions并且非常好:

     

http://www.codeproject.com/KB/shell/shellextguide1.aspx

答案 1 :(得分:0)

1)听起来您只想改变或添加到Windows资源管理器提供的上下文菜单中。这只是注册表设置的问题。 See here for a good example

2)如果您按照上面链接的zip示例,您将看到目标文件的路径传递给zip应用程序。您的应用程序,如果它接受参数,可以类似地获取正在打开的文件的路径。