查找另一个应用程序菜单的句柄(vb .net)

Posted

技术标签:

【中文标题】查找另一个应用程序菜单的句柄(vb .net)【英文标题】:Find handle of another application's menu (vb .net) 【发布时间】:2009-09-05 13:38:42 【问题描述】:

我想制作一个程序,使用 user32 的 enablewindow 函数禁用家长控制应用程序的菜单项。使用 spy++ 我可以找到按钮、控件等,但我似乎找不到菜单和菜单项。我怎样才能找到这些句柄,以便在用户尝试单击它们时禁用它们? 谢谢

【问题讨论】:

【参考方案1】:

我认为这可以通过挂钩 WH_CALLWNDPROC 和处理 WM_INITMENUPOPUP 或 WM_INITMENU 消息来完成(不太确定!)。一些相关讨论可以在这里找到:How to find the menu item (if any) which opens a given HMENU when activated? http://www.codeproject.com/KB/dialog/AOTop.aspx

【讨论】:

以上是关于查找另一个应用程序菜单的句柄(vb .net)的主要内容,如果未能解决你的问题,请参考以下文章

使用 User32 (vb .net) 启用对另一个应用程序的控制

vb 将一个程序通过句柄设为了另一个程序的子窗体后句柄发生改变 如何获取该程序在父窗体的新句柄?

请问vb中如何查找程序里面的多个文本框(或其他控件)的句柄啊?

如何用vb.net 调用VBS文件?

在 C++ 中根据鼠标位置查找菜单项

vb.net中如何获得某个窗口的句柄