![]() |
1
9
获取shell上下文菜单的关键是使用
看看这篇好文章
更新
对于Delphi示例,您可以看到
JclShell
绝地JCL的部队(检查
|
![]() |
2
7
简短的回答 尝试 ShellBrowser Components 来自JAM软件。它们有一个组件,可以让您在tpopupmenu中混合使用自己的命令显示资源管理器的上下文菜单。 冗长的回答 获取资源管理器菜单、查询其所有属性,并将它们托管在您自己的菜单中是可能的,但是您确实应该能够轻松地阅读/编写低级的win32代码,并且C的工作知识将有所帮助。您还需要注意一些问题(见下文)。我强烈推荐阅读陈瑞蒙的 How to host an IContextMenu 一系列的技术细节。 这个 更容易的 方法是先查询icontextmenu接口,然后查询hmenu,然后使用trackpopupmenu让Windows显示菜单,最后调用invokecommand。 下面的一些代码没有经过测试,或者已经根据我们使用的代码进行了修改,因此请自行承担风险。 以下是你如何获得 IContextMenu ,对于基本文件夹中的一组文件:
要获得需要调用的实际菜单项 IContextMenu.QueryContextMenu . 您可以使用 DestroyMenu .
以下是您实际调用用户从菜单中选择的命令的方式:
现在您可以使用 GetMenuItemInfo 函数获取标题、位图等,但更简单的方法是调用 TrackPopupMenu 让Windows显示弹出菜单。看起来像这样:
如果您真的想提取菜单项/标题并将它们添加到您自己的弹出菜单中(我们使用工具栏2000并执行此操作),那么您将遇到的其他大问题如下:
|
![]() |
3
0
以下是“发送到…”后面的操作系统逻辑的示例。|“邮件收件人”上下文菜单项可用于从Delphi应用程序打开默认邮件客户端,显示附加了已传递(选定)文件的新邮件: |
|
vini · 安装wfp内核驱动程序后,devcon状态返回39 3 年前 |
![]() |
I101I · 如何镜像HBITMAP 3 年前 |
![]() |
E235 · 如何查看谁创建了Windows NamedPipe 3 年前 |
![]() |
Pizza Ãcke · 创建带有内存映像的Windows托盘图标 3 年前 |
![]() |
Jabu · 如何获取列表框滚动条“拇指”的高度? 3 年前 |
![]() |
tree1234 · 对可执行文件进行代码设计,并允许修改某些字节 3 年前 |
![]() |
Penachia · PDF FontDescriptor标志 7 年前 |