正在资源管理器中检索菜单

Retrieving Menu in Explorer

本文关键字:检索 菜单 资源管理器      更新时间:2023-10-16

由于桌面和资源管理器窗口的上下文菜单被禁用,我想做一些事情来恢复一些功能。我的想法是,每当用户右键单击其中一个窗口时,只需在上下文菜单中列出内容(复制、粘贴、新建、打开等),然后在实际菜单中模拟相应的事件(文件->新建、编辑->复制等)。它看起来不会很漂亮,但它有望允许使用右键单击。

问题是我似乎看不到真正的菜单。我打开"我的文档",并尝试从子列表向下转到SysListView32,每次调用GetMenuItemCount。大多数返回值为-1,唯一的其他返回值为0。

我应该如何获得(文件、编辑、查看…)菜单的句柄?如果这不可能,有没有一种方法可以模拟用户点击正常上下文菜单上的某个东西,即使它被禁用了?

还有,有没有一种方法可以让它在桌面上运行?如果你在资源管理器窗口中查看,你可以得到相同类型的东西,所以我想可能有办法。

我正在运行Windows XP,如有任何帮助,我们将不胜感激。

根据David Heffernan的评论,

至于你的问题,你走错了路。GetMenuItemCount需要一个HMENU,但您一直在给它添加HWND。那行不通。它也不会从不同的过程中工作。您可以编写一个使用shell COM API的程序以显示外壳项的上下文菜单。但是你的基本问题是顽固的团体政策。你真的需要解决这个问题。告诉做出决定的IT人员,我说他是个傻瓜并阻止你做任何有用的工作

这让我走上了使用正确的替代方法来实现目标的道路。