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

 

 

 

 

版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

ATL 工程下添加右击菜单

CPoint point;  ::GetCursorPos(&point);  HMENU hMenu;  hMenu = ::LoadMenu(g_hInstance, MAKEINTRESOURC...

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

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

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

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

为windows添加右键菜单

1.打开注册表编辑器:同时按下(win + R) -》在运行中输入regedit 2.选择你要添加的位置(类型):找到右键项目注册表“HKEY_CLASSES_ROOT” 旗下子菜单作用分别为: ...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

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