1

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

这个最接近我想要做的: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 系统上工作。

4

1 回答 1

1

这篇文章可能会对您有所帮助,因为它适用于我的项目。

简单的外壳上下文菜单

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

您还可以通过将条目添加到文件类型的 *、Directory 和 Drive 注册表项来将上下文菜单连接到所有文件、文件夹和驱动器。例如,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\""

于 2011-09-05T08:02:37.567 回答