vc ATL 外壳编程添加windows右键菜单

原创 2011年01月20日 20:43:00

程序在

http://www.programbbs.com/doc/473.htm

这个网页里面说了具体的流程,但好像通过上面网页的方法好像在vc中有点编译不过去,加了头文件也不行。

这个程序在codeproject上面有,我也已经上传了,具体的流程和网页中的大致是一样的

程序的功能是:类似于winrar的功能,你右键单击一个文件,在弹出的右键菜单中添加了一个选项,可以在弹出的右键菜单选项中实现具体的功能。

例如,我添加的是:右键单击txt文件,在弹出的菜单中添加了一项,点击这一项之后弹出一个对话框显示当前txt的文件名。

如果你不想再txt的右键菜单添加这一项,而是其他的文件格式,则修改工程中的SimpleShlExt.rgs这个文件,打开这个文件,可以看到文件的内容如下:

HKCR

{

    NoRemove CLSID

    {

        ForceRemove {5E2121EE-0300-11D4-8D3B-444553540000} = s 'SimpleShlExt Class'

        {

            InprocServer32 = s '%MODULE%'

            {

                val ThreadingModel = s 'Apartment'

            }

        }

    }

    NoRemove txtfile

    {

        NoRemove ShellEx

        {

            NoRemove ContextMenuHandlers

            {

                ForceRemove SimpleShlExt = s '{5E2121EE-0300-11D4-8D3B-444553540000}'

            }

        }

    }

}

这个文件具体的内容我也不是很明白,但NoRemove txtfile这里很关键,这个txtfile是注册表中HKEY_CLASSES_ROOT子项中的一项,注册表必须要有这一项,运行这个程序后才能将txt文件的右键菜单添加一项。如果注册表中没有这一项,需要在注册表中添加这一项,我博客中有文档讲到,代码也已经上传了,就不再多说。

但这个程序是一个ATL的工程,生成的是一个dll文件,我对ATL一点都不了解,本来还想把这个工程添加到我的MFC的工程中去,但是最后不知道如何在我们的代码中调用这个工程的函数或是借口而不了了之,望有能者赐教也。

下面是一些ATL的程序文档,感觉还是很有用的。

http://www.vckbase.com/document/viewdoc/?id=682

http://blog.sina.com.cn/s/blog_4baa485201000938.html

http://www.vckbase.com/document/viewdoc/?id=211

 

 

 

 

外壳扩展编写完全傻瓜指南(一)(Michael Dunn)

    外壳扩展(Shell Extention)是一个能向Windows外壳(资源管理器)添加一些功能的COM对象。这有很多的内容,但是却很少有关于它们的易懂的文档告诉我们如何去编写这些外壳(She...
  • mefish
  • mefish
  • 2001年09月21日 15:41
  • 1919

在VS2012下制作上下文菜单

(1)在资源里添加菜单资源,如下:  依次点开的红色,绿色,蓝色的属性窗口,将其中一项:Popup 项由 false 改为 true, (2)右键点击项目,选择类向导,选好消息应响应的类后, ...

(转)VC++ 外壳扩展编程之windows右键菜单

所属类别:VC++ 文章作者:李晓飞 推荐指数:★★★☆ 文档人气:4379 本周人气:4 发布日期:2006-12-13 这次我想和大家一起讨论一下 Windows 的 Sh...
  • gxj1680
  • gxj1680
  • 2012年08月09日 12:12
  • 977

(C#)Windows Shell 外壳编程系列3 - 上下文菜单(iContextMenu)(一)右键菜单

接上一节:(C#)Windows Shell 外壳编程系列2 - 解释,从“桌面”开始展开 这里解释上一节中获取名称的方法  GetDisplayNameOf 定义: voi...

VC Windows shell扩展编程(为系统右键菜单添加二级菜单傻瓜教程)

转自:VC Windows shell扩展编程(为系统右键菜单添加二级菜单傻瓜教程) 2012-08-07 16:26 650人阅读 评论(0) 收藏 举报 windowsshe...
  • worldy
  • worldy
  • 2013年12月24日 11:50
  • 1482

VC Windows shell扩展编程(为系统右键菜单添加二级菜单傻瓜教程)

打开VC6,新建一个工程,选ATL COM APPWIZARD,工程名写BlogTest。然后OK。如果要用到MFC,那把Support MFC打上勾,然后按完成。     新工程生成完毕后,在Cl...
  • wzsy
  • wzsy
  • 2012年08月07日 16:26
  • 3454

Windows Shell编程实现右键菜单-VS2005,Win7 32位

参考资料: windows右键菜单开发--with vs2008(2005) or vc9(vc8) 前言:其实最近一直在看微软的刻录函数 imapi2,发现大量的接口函数...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:vc ATL 外壳编程添加windows右键菜单
举报原因:
原因补充:

(最多只允许输入30个字)