HRESULT SHEmptyRecycleBin( HWND hwnd, LPCTSTR pszRootPath, DWORD dwFlags ); hwnd 父窗口句柄 pszRootPath 将要清空的回收站的驱动器地址,如果为NULL,则清空所有驱动器上的回收站. dwFlags 可以用|操作符同时选择下列一个或多个值. SHERB_NOCONFIRMATION 不显示任何确认删除对象的对话框. SHERB_NOPROGRESSUI 不显示任何指示其进度的对话框. SHERB_NOSOU…
第二章Shell的结构  “Shell 编程”的大伞之下有大量的API函数和COM接口.这个种类繁多的‘命令’集允许你用不同的方法对Windows Shell进行编程.函数和接口并不是两种提供相同功能的等价途径,相反,它们在不同的逻辑层上提供不同的功能.          API函数包含了用户想要在Shell对象上执行的基本操作,如文件和文件夹.COM接口则给出了扩展增强,甚至客户化各种要素对象的机会,包括Shell本身标准行为.用面向任务的方法对函数和对象进行分组将给我们一个总体上观察Shel…
第三章 操作文件 我依然清楚地记得,Windows95 的贝塔版出现的情形,它在朋友之间和学院中传播,好酷,全新的文件管理器,一种全图标,全彩色可客户化的界面,以及活泼的动画标识使得在文件拷贝和删除方面的操作更容易和直观. 作为真正的软件狂人,我们能为一个比萨饼的奖金开始竞赛,一直以求成为第一个能够编程再造如此行为的人—即,怎样以动画方式拷贝文件.花了几个小时的时间才在一大堆新函数中找出了SHFileOperation()函数,这是一个响应动画拷贝的API函数,它也是探测器执行所有文件操作的函数…
在工业控制中,工控机(一般都基于Windows平台)经常需要与智能仪表通过串口进行通信.串口通信方便易行,应用广泛. 一般情况下,工控机和各智能仪表通过RS485总线进行通信.RS485的通信方式是半双工的,只能由作为主节点的工控PC机依次轮询网络上的各智能控制单元子节点.每次通信都是由PC机通过串口向智能控制单元发布命令,智能控制单元在接收到正确的命令后作出应答. 在Win32下,可以使用两种编程方式实现串口通信,其一是使用ActiveX控件,这种方法程序简单,但欠灵活.其二是调用Window…
一个操作系统外壳的不错的定义是它是一个系统提供的用户界面,它允许用户执行公共的任务,如访问文件系统,导出执行程序,改变系统设置等.MS-DOS有一个Command.COM扮演着这个角色.然而Windows已经有了图形界面环境,他的外壳程序也就必然是图形方式的.在Windows95以前,默认的Windows Shell就是程序管理器. 程序管理器是一个中央控制台,从那里你可以启动应用程序,重排和重组图标,执行新任务.换句话说,程序管理器就像他的名字提示的那样管理所有集中在Windows大伞之下的程…
第四章 文件的本质 以前,所有文件和目录都有一个确定的属性集:时间,日期,尺寸,以及表示‘只读的’,‘隐藏的,‘存档的’,或‘系统的’状态标志.然而,Windos95(及后来的WindowsNT4.0)出现使这些概念产生了改变,其中最重要的‘文件’变得更加广泛.现在,文件可以是任何Shell部件对象—不一定必须是文件系统的部件. 文件的精确定义是,任何作为Shell命名空间部件的对象称之为文件对象.注意,在定义中所说的‘命名空间’,它不是C++的关键字.‘Shell 命名空间’所指的是实际组成S…
第九章 图标与Windows任务条 如果问一个非程序人员Windows最好的特色是什么,得到的答案应该是系统最有吸引力的图标.无论是Windows98现在支持的通用串行总线(USB)还是WDM(看上去有点像一个软件协会而不象普通的设备驱动体系结构的缩写),图标在人们的心目中仍然是亲切的.你必须承认,微软总是从它的图形族群中获得最大的利益. 要了解使用图标表述菜单命令背后的的简单(或不简单)概念,你需要的不是绘制激情也不是艺术欣赏,而是应该清楚,仅使用32X32像素和16种颜色的图块做这样的表述是…
原文(C#)Windows Shell 外壳编程系列6 - 执行 (本系列文章由柠檬的(lc_mtt)原创,转载请注明出处,谢谢-) 接上一节:(C#)Windows Shell 外壳编程系列5 - 获取图标 执行 许多人都知道 ShellExecute ,用于执行一个外部命令.但对于  IShellFoloder 对象来说,它的执行命令,都在它的 ContextMenu 里面了.记得前几节说过如何直接调用 ContextMenu 里的项,因此,执行一个 IShellFoloder,也无非是调用…
原文 C#)Windows Shell 编程系列5 - 获取图标 (本系列文章由柠檬的(lc_mtt)原创,转载请注明出处,谢谢-) 接上一节:(C#)Windows Shell 编程系列4 - 上下文菜单(iContextMenu)(二)嵌入菜单和执行命令 有关 PIDL PIDL亦有“绝对路径”与“相对路径”的概念.表示“相对路径”的PIDL(本文简称为“相对PIDL”)只有一个ITEMIDLIST结构的元素,用于标识相对于父文件夹的“路径”:表示“绝对路径”的PIDL(简称为“绝对PIDL…
原文(C#)Windows Shell 编程系列4 - 上下文菜单(iContextMenu)(二)嵌入菜单和执行命令 (本系列文章由柠檬的(lc_mtt)原创,转载请注明出处,谢谢-) 接上一节:(C#)Windows Shell 编程系列3 - 上下文菜单(iContextMenu)(一)右键菜单 上 一节说到如何弹出 IShellFolder 的上下文菜单,也就是 IContextMenu.有时候我们需要在这个菜单上面,加入一些属于自己的菜单项.举个例子,你打开资源管理器,查看左边目录树的…