自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(10)
  • 收藏
  • 关注

原创 抓狂的Namespace Shell Extension (8)

这次说的是剪贴板格式 vs. 上下文菜单&属性页之间的关系。这种关系并非相声和水利的关系。 为了更好地证明SEF的强大威力,同时为了更方便自己在网上down东西,决定写一个non-rooted NSE:网络硬盘,把@163.com的邮箱变成一个虚拟硬盘。网上已经有类似的东西,叫做GmailDrive,可惜一来不公开源码,二来上传大文件的时候太费劲。 WebDrive是植根在desktop上的non

2005-10-12 12:56:00 1565

原创 抓狂的Namespace Shell Extension (7)

SEF支持本文中所说的两种类型的NSE。 这次要说的是如何支持NSE的两种类型: RootedNon-rooted 这两个微软发明的名词有些误导。有人会以为前者是在桌面上,后者是像RarFS那样的file viewer,实际正好相反。 :) 注册NSE的时候,如果选择:HKEY_LOCAL_MACHINE/SOFTWARE/Microsoft/Windows/CurrentVersion/Expl

2005-10-12 12:41:00 1702

原创 抓狂的Namespace Shell Extension (6)

这次说的是如何在XP/2003的任务列表中添加自己的任务。 CodeProject上有篇文章, Namespace Extensions: The Tasks Band DisclosedBy Henk Devos http://www.codeproject.com/shell/foldertasks.asp 说的是这个主题。但是这位大拿有个关键地方讲错了。我实现了所有的接口,但是Explore

2005-10-10 20:19:00 1562

原创 Windows:不借助任何DLL,取得密码框的内容

Windows 2000之后,微软的GetWindowText提高了安全性,对于其它进程的窗口,如果是个有ES_PASSWORD的Edit,就返回ERROR_ACCESS_DENIED。XP SP2和2003中,微软干脆不让取任何进程外Edit窗口(包括RichEdit各个版本)的文字,无论是否为密码框。传统的方法是写一个鼠标或者键盘的全局钩子DLL,Windows会将它加载到所有装载了USER3

2005-10-10 19:40:00 1742

原创 如何在基于IE的浏览器中装入google toolbar

这里说的方法适合任何IE toolbar,已经测试的包括:- google toolbar- MSN toolbar- Sina DDT- Yahoo toolbar(0) 如果你还不了解下面几个接口的作用,请查询MSDN。- IServiceProvide- IInputObjectSite- IOleWindow- IWebBrowser2- IDeskBand- IObjectWithSit

2005-10-10 19:37:00 1348

原创 抓狂的Namespace Shell Extension (5)

这次说的是如何在自己的NSE中将工具条按钮添加到Explorer中。SEF所包含的RarFS源码中有本文所讲的所有信息的参考实现,以及目前网上所能找到的所有公开和未公开的SFVM_*消息的含义的参数结构。 :) 第一个问题是:什么时候加入按钮。 微软有一个例子:CabView,在老的SDK里面有源码,新的SDK不再提供这个例子。它是自己用ListView实现了一个IShellView,在IShel

2005-10-10 19:27:00 2365 1

原创 抓狂的Namespace Shell Extension (4)

这次要说的是如何支持两个Windows shell的新特性:details expando和find in files。 Details expando,这个东西就是Explorer窗口左边的任务列表中“细节”栏的内容。(打开Explorer,将文件夹和搜索两个按钮置为抬起状态,就可以看到左边一排可以伸展收缩的框,称为expando。)在RarFS 0.0.8之前的版本中,如果选中一个rar里面的

2005-10-10 19:25:00 1879

原创 抓狂的Namespace Shell Extension (3)

Explorer有两种线程模型: (1) 所有窗口在一个进程内,每窗口是一个或多个GUI线程。(2) 每窗口一个进程,每进程中有一个或多个GUI线程。 比较好的情况(对程序员友好)是(2)。如果用户选择的是方式1,那么在编写namespace shell extension时如果需要non-blocking方式,即完成长时间工作而主窗口依然能处理用户消息,一定要千万分当心。 下面是典型的一种情况:

2005-10-10 19:09:00 1873

原创 抓狂的Namespace Shell Extension (2)

写了个新玩具:RarFS。实际上就是个namespace extension,可以把rar在资源管理器里面(explorer)虚拟成文件夹。 利用了rooted namespace extension和shell default view。文件信息的获取是通过管道操作从rar获取的。 需要的请来信netex@163.com。 :)

2005-10-10 19:07:00 3107

原创 抓狂的Namespace Shell Extension (1)

最近在做一个NSE,把RAR文件虚拟成一个folder,所有前期准备工作做完后,突然发现SHITEMID的结构要变一变,让它能更好地对齐,从: bool bFolder;wchar_t parent[var_len];UINT size;wchar_t name[var_len]; 改为: BOOL bFolder;UINT size;wchar_t parent[var_len];wchar_t

2005-10-10 19:05:00 3145

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除