C ++ Shell上下文菜单扩展

时间:2011-09-05 07:48:13

标签: c++ windows shell-extensions

我尝试为Windows文件/文件夹创建上下文菜单扩展。我已经尝试了很多,但没有什么对我有用。我已经有32位系统的扩展,但它已经过时了。我想使用C ++为64位系统重新创建它。

这个最接近我想做的事:Klick 但这适用于32位系统。阅读完评论后,我能够修改并为x64构建它。

在我的64位系统上使用system32 / regsvr32.exe注册它,告诉它已成功注册。正确创建所有注册表项。但菜单项不会出现。我不知道为什么......

有人能帮助我吗?如果你愿意,我可以为你上传项目。

更新

我使用上面链接中的原始项目并更改了以下内容:

1)将目标设定为“x64”

2)因为我不能编译它,我改变了以下内容:

2.1)在stdafx.h中包含之前,我添加了:

#define _ATL_NO_UUIDOF

2.2)我在这里将UINT更改为UINT_PTR:

HRESULT CFSBankShellExtension::GetCommandString (
UINT_PTR idCmd, 
UINT uFlags, 
UINT* pwReserved,
LPSTR pszName, 
UINT cchMax )

3)我在.rgs文件中将txtfile更改为*,以便它应该适用于所有文件类型。

4)我能够编译并注册它

如果你不能帮助我,那么如果你能上传一个可以在x64系统上运行的模板就会很酷。

1 个答案:

答案 0 :(得分:1)

这篇文章可能对我的项目有所帮助..

Simple shell context menu

  

所有文件,文件夹和驱动器的上下文菜单

     

您还可以将上下文菜单连接到所有文件,文件夹和驱动器   将条目添加到文件类型的*,目录和驱动器注册表中   键。例如,XP PowerToys添加了Open Command Window Here菜单   使用以下注册表脚本到所有文件夹:

     

REGEDIT4

     

[HKEY_CLASSES_ROOT \ Directory \ shell \ cmd] @ =“在这里打开命令窗口”

     

[HKEY_CLASSES_ROOT \ Directory \ shell \ cmd \ command] @ =“cmd.exe / k \”cd   %L \ “”