我尝试为Windows文件/文件夹创建上下文菜单扩展。我已经非常努力,但没有为我工作。我已经有了32位系统的扩展,但已经过时了。我想用C++为64位系统重新创建它。C++ Shell上下文菜单扩展
这一个是最接近我想要做的:Klick 但这是为32位系统。阅读完评论后,我可以修改&为x64构建它。
在我的64位系统上使用system32/regsvr32.exe注册它,表明它已成功注册。所有注册表项都正确创建。但是菜单项没有出现。我不知道为什么...
有人可以帮助我吗?如果你愿意,我可以上传这个项目给你。
UPDATE
我使用从上面的链接的原始项目,改变了以下事情:
1)设定的目标为 “64”
2)因为我couln't编译它,我改变了以下几件事:
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)我txtfile更改为*在.RGS文件,因此它应该对所有文件类型的冲击片雷管。
4)我是能够编译并注册
如果你不容帮助我,这将是冷静,如果你可以上传模板,将x64系统上运行。
第一步是找出如果您的DLL实际上已经加载到浏览器处理。尝试使用SysInternals procexp工具并打开底部窗格DLL视图。 –
它在那里!我搜索了SimpleExt.dll,并在procexp中找到了它。那么......接下来呢? –
您是否使用Visual Studio?加载你的项目,将VS调试器附加到explorer.exe并在你的扩展的方法中设置断点。然后右键点击某个东西,看看你的函数是否真的被调用。如果他们被调用,请通过他们并尝试找出他们出错的地方。 –