作者:朱金灿
来源:http://blog.csdn.net/clever101
在Win XP环境下使用VS 2005编译一个shell扩展工程,出现一些编译错误:
error C2787: 'IContextMenu ' :no GUID hasbeen associated withthis object
error C2440: 'initializing ' :cannot convert from'DWORD_PTR ' to 'constIID * '
error C2440: 'initializing ' :cannot convert from'ATL::_ATL_CREATORARGFUNC(__stdcall *) ' to'DWORD_PTR '
搜了一些资料,发现问题在于VS 2005的comdef.h并没有包含IContextMenu,而且VS2005的comdef.h只在VC的include下有,Platform SDK下的include并没有这个问题,所以调整头文件的包含顺序是不能解决这个问题的。
要解决这个问题,需要更新Windows PlatformSDK,具体可以更新到这个版本:
Windows®Server 2003 R2 Platform SDK ISO Download
安装该版本后,单击菜单:Register PSDKDirectorues with visual studio,即可把WindowsPlatform SDK的头文件和库文件包含进VS 2005,具体如下图:
分享到:
相关推荐
项目描述安卓自定义文字和图标按钮,适合放在MainActivity底部,仅作为个人作为教学示例演示使用说明1、gradle引入 compile 'com.joe.tabmenu:tabmenu:1.0.0'2、布局文件使用<...
实现IContextMenu三个方法的bho!没有接触的这方面很有帮助,InvokeCommand,GetCommandString,QueryContextMenu
With EasyNSE a fully functional context menu DLL can be as small as 200k (with a little more work and conditional defines this number can be ) with D7.Full support for IContextMenu2 and owner draw ...
右键菜单在实际的项目开放中很少有用到,但也有少部分的项目要求用到。之前自己在网上找了好久,也没有一个完整的demo,但自己的项目要求用到,只能整理了一下网上的资料,现在把完整的一个demo上传至此,不对之处请...
通过IShellFolder->GetUIObjectOfcha询IContextMenu对象的接口。 利用IContextMenu->QueryContextMenu,cha询explorer的上下文菜单。 利用IContextMenu->InvokeCommand,执行相应的菜单命令。 优点: 由于使用COM...
用C++实现了这个功能,主要是用IContextMenu2,IContextMenu3,IShellFolder 对象来实现的,对于易来说想实现比较困难,于是我换了个思路来实现,但是实现得并不是那么好 。不过至少够用了。本程序实现原理:创建...