我正在尝试推出自己的 IShellBrowser 实现,因为我需要一个比 Windows 允许的功能更全的“文件打开”和“另存为”对话框,该对话框与 XP 兼容(最好与 W2000 兼容)*

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

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

我可以简单地截取应用程序的屏幕截图,在那里我可以找到它们 - 但知道它们来自哪里可能更有用,因此我可以访问这些按钮的各种版本(高分辨率、低分辨率、浅色、深色, ETC。)。

有任何想法吗?

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

有帮助吗?

解决方案

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

其他提示

我发现含有包含嵌入式系统的图标的文件的列表此表。也许你会发现你在其中一人找什么:

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

尝试寻找在imageres.dll。你应该发现,大部分的图像资源,为Vista那里。

如果你只是问外壳为它的图像列表,它会提供给你。

Shell_GetImageLists()

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

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

使用自己的图标。在的Shell32.dll资源ID不记录,并能在Windows更新改变。

Windows有3个 “标准” 工具栏。从 CommCtrl.h (来源):

  • 标准: enter image description here (IDB_STD_SMALL_COLOR)
  • 看法: enter image description here (IDB_VIEW_SMALL_COLOR)
  • 历史: enter image description here (IDB_HIST_SMALL_COLOR)

图像的索引 有记录, ,并且可以在 CommCrtl.h. 。例如, 标准 图像索引为:

  • STD_CUT (0):剪切操作。
  • STD_复制 (1):复制操作
  • STD_粘贴 (2):粘贴操作。
  • STD_UNDO (3):撤消操作。
  • STD_REDOW (4):重做操作。 (是的,打字错误)
  • STD_删除 (5):删除操作。
  • STD_FILENEW (6):新文件操作。
  • STD_文件打开 (7):打开文件操作。
  • STD_文件保存 (8):保存文件操作。
  • STD_PRINTPRE (9):打印预览操作。
  • STD_属性 (10):属性操作。
  • 性病帮助 (11):帮助操作。
  • STD_FIND (12):查找操作。
  • STD_替换 (13):更换操作。
  • 标准打印 (14):打印操作。

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

// hWndToobar is the window handle of the toolbar control.
SendMessage(hWndToolbar, 
      TB_LOADIMAGES, 
      (WPARAM)IDB_STD_SMALL_COLOR, 
      (LPARAM)HINST_COMMCTRL);
许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top