65.9K
CodeProject 正在变化。 阅读更多。
Home

使用 ATL 和 WTL 的 Shell 扩展

starIconstarIconstarIcon
emptyStarIcon
starIcon
emptyStarIcon

3.40/5 (4投票s)

2001年3月19日

CPOL
viewsIcon

120196

downloadIcon

1425

扩展 Windows Explorer 用户界面的 Shell 扩展

Sample Image - ShellServer.gif

引言

这里是另一个 Shell 扩展示例 - 扩展 Windows Explorer 用户界面的示例。

需要说明的是,我的示例并没有做任何有用的事情 - 我稍后会考虑一些功能 - 它只是展示了如何编写这种类型的 Shell 扩展。

如何安装它?

将 ShellServer.dll 复制到您选择的任何目录,并使用 regsvr32.exe 注册它。下次打开 Windows Explorer 时,您会在左侧窗格树中看到一个额外的文件夹 - Shell Server。只需单击它,您就可以看到它的实际效果。

ShellServer 将其自身的菜单、工具栏按钮、状态栏文本与 Windows Explorer 集成,并在 Explorer 的右侧窗格中显示一个列表视图控件,其中包含一些数据。

该项目包含 4 个类

  • CFolderObj,它实现了 IShellFolder 和 IPersistFolder 接口。
  • CViewObj,它实现了 IShellView 接口。
  • CMainDlg
  • CShellListView

CFolderObj CViewObj 使用 ATL 实现,CMainDlgCShellListView 使用 WTL。

实现相当简单直接,除了一个事情 - 如果您想在列表视图控件中处理窗口消息,您必须先创建无模式对话框,然后在上面放置一个列表视图控件。

我是在 WinNT 4.0 sp6 上编写的,并且没有在 Win95/98 上进行测试。

就这样。尽情享受并以您想要的方式使用它。甚至不要提及我的名字(我是一个非常谦虚的人)。

鸣谢 - www.clipcode.com

© . All rights reserved.