0

我正在尝试推出自己的 IShellBrowser 实现,因为我需要一个比 Windows 允许的功能更全面的文件打开和另存为对话框,它与 XP 兼容(理想情况下与 W2000 兼容)*

此时我需要添加您在对话框右上角看到的标准工具栏(XP 和更早版本的清单样式) - 后退按钮、父文件夹按钮、新文件夹按钮和“工具”下拉菜单.

但到目前为止,我一直未能找到这些图标/图像。我查看了 USER32.dll、comdlg32.dll、comctl32.dll,但没有找到任何完全匹配的内容。

我可以简单地截取可以找到它们的应用程序的屏幕截图 - 但了解它们的来源可能更有用,因此我可以访问这些按钮的各种版本(高 rez、低 rez、浅色、深色, ETC。)。

有任何想法吗?

[编辑:我还需要它与 Vista 和 Windows 7 兼容。只是从 Vista 开始,他们打破了旧的通用对话框模型,他们的新模型对 IMO 造成了脑损伤——我不再有足够的权限访问对话框的状态来执行我们的对话框过去所做的必要职责——所以我们被迫从另一个角度解决问题]

4

7 回答 7

3

尝试shell32.dll,在 Windows\System32 中。

于 2009-11-10T22:49:25.643 回答
2

试试看imageres.dll。您应该在那里找到大部分 Vista 的图像资源。

于 2009-11-10T22:40:44.077 回答
2

我发现这个表包含一个包含嵌入图标的系统文件列表。也许您可能会在其中之一中找到您正在寻找的东西:

Filename     Number of Icons
-----------------------------
compstui.dll    99
comres.dll      38
cryptui.dll     20
csc.dll         22
dsuiext.dll     35
explorer.exe    18
iexplore.exe    23
inetcpl.cpl     34
inetcpl.dll     14
mmcndmgr.dll    129
mmsys.cpl       40
moricons.dll    140
netshell.dll    157
ntbackup.exe    26
pfmgr.dll       38
progman.exe     48
setupapi.dll    37
SHDOCVW.DLL     35
shell32.dll     238
stobject.dll    31
wiashext.dll    23
wmploc.dll      60
xpsp2res.dll    19
于 2009-11-10T22:48:21.107 回答
1

vista 风格 http://www.freeiconsweb.com/Vista-Style-Software-Icons-Set.html

不是 Windows,而是真正完整 的 http://www.freeiconsweb.com/Webmaster-Pixel-Icon-Set.html

只是下载链接在底部

http://www.freeiconsweb.com/Vista_Folders_Icons.html

于 2009-11-10T22:42:43.000 回答
1

如果你只是向 shell 询问它的图像列表,它就会给你。

Shell_GetImageLists()

然后你可以使用任何你想要的。耶。

编辑:看起来SHGetImageList()可能是更好的方法。

于 2009-11-10T23:06:09.003 回答
1

使用您自己的图标。Shell32.dll 中的资源 ID 未记录在案,并且可以在 Windows 更新中更改。

于 2009-11-12T19:01:13.390 回答
1

Windows 有 3 个“标准”工具栏。来自CommCtrl.h 来源

  • 标准(IDB_STD_SMALL_COLOR)在此处输入图像描述
  • 查看(IDB_VIEW_SMALL_COLOR)在此处输入图像描述
  • 历史(IDB_HIST_SMALL_COLOR)在此处输入图像描述

图像的索引已记录在案,可以在 中找到CommCrtl.h。例如,标准图像索引是:

  • STD_CUT (0):剪切操作。
  • STD_COPY (1):复制操作
  • STD_PASTE (2):粘贴操作。
  • STD_UNDO (3):撤销操作。
  • STD_REDOW (4):重做操作。 (是的,错字)
  • STD_DELETE (5):删除操作。
  • STD_FILENEW (6):新建文件操作。
  • STD_FILEOPEN (7):打开文件操作。
  • STD_FILESAVE (8):保存文件操作。
  • STD_PRINTPRE (9):打印预览操作。
  • STD_PROPERTIES (10):属性操作。
  • STD_HELP (11):帮助操作。
  • STD_FIND (12):查找操作。
  • STD_REPLACE (13):替换操作。
  • STD_PRINT (14):打印操作。

您可以通过发送TB_LOADIMAGES消息将一组标准图像加载到工具栏的图像列表中:

// hWndToobar is the window handle of the toolbar control.
SendMessage(hWndToolbar, 
      TB_LOADIMAGES, 
      (WPARAM)IDB_STD_SMALL_COLOR, 
      (LPARAM)HINST_COMMCTRL);
于 2018-07-18T17:47:26.983 回答