C++ 如何自定义windows默认右键单击弹出菜单

C++ 如何自定义windows默认右键单击弹出菜单,c++,windows,popup,C++,Windows,Popup,我有两个问题。我的第一个问题是,我怎样才能在默认的窗口右键单击弹出菜单中“放入”某些内容?我的意思是,如果我用鼠标右键点击一个.exe,那么默认的东西就会出现(比如剪切、复制、发送到、运行为…),但是我怎么能在那里多放一行,比如“MyApp”,它会启动我的应用程序呢?我想在C++中完成这一切。 我的第二个问题是,如何从弹出菜单中获取启动MyApp的文件名(或完整路径) 提前感谢 kampi(kampi)听起来像是您希望简单地更改或添加到Windows资源管理器提供的上下文菜单中。这实际上只是注册

我有两个问题。我的第一个问题是,我怎样才能在默认的窗口右键单击弹出菜单中“放入”某些内容?我的意思是,如果我用鼠标右键点击一个.exe,那么默认的东西就会出现(比如剪切、复制、发送到、运行为…),但是我怎么能在那里多放一行,比如“MyApp”,它会启动我的应用程序呢?我想在C++中完成这一切。 我的第二个问题是,如何从弹出菜单中获取启动MyApp的文件名(或完整路径)

提前感谢

kampi(kampi)听起来像是您希望简单地更改或添加到Windows资源管理器提供的上下文菜单中。这实际上只是注册表设置的问题

2) 如果您遵循上面链接的zip示例,您将看到目标文件的路径被传递到zip应用程序。您的应用程序如果接受参数,同样可以获得打开文件的路径。

1)听起来您只是想更改或添加到Windows资源管理器提供的上下文菜单中。这实际上只是注册表设置的问题


2) 如果您遵循上面链接的zip示例,您将看到目标文件的路径被传递到zip应用程序。您的应用程序如果接受参数,同样可以获取正在打开的文件的路径。

检查此stackoverflow帖子:

此类处理程序必须在HKCR\目录\后台注册,而不是在HKCR\目录、HKCR\文件夹等常用位置注册

有一系列关于CodeProject的文章详细介绍了编写Shell扩展,非常好:


检查此stackoverflow post:

此类处理程序必须在HKCR\目录\后台注册,而不是在HKCR\目录、HKCR\文件夹等常用位置注册

有一系列关于CodeProject的文章详细介绍了编写Shell扩展,非常好:


我的应用程序将在C++中启动?请重新措辞。这没什么道理。对不起,我弄错了。我纠正了:希望你现在能理解:(哪一个)我的应用程序将在C++中启动?请重新措辞。这没什么道理。对不起,我弄错了。我更正了:)希望你现在能理解:)基本上我想要的是这个。我转到c:\Program Files\Internet Explorer\并在iexplore.exe上单击鼠标右键,然后启动MyApp。但是我需要得到上面的路径,因为MyApp将使用它。你知道我怎么得到它吗?看我对#2的修改。可能更有意义。基本上我想要的是这个。我转到c:\Program Files\Internet Explorer\并在iexplore.exe上单击鼠标右键,然后启动MyApp。但是我需要得到上面的路径,因为MyApp将使用它。你知道我怎么得到它吗?看我对#2的修改。可能更有意义。