2010-07-03 22 views
0

我目前正在为第三方应用程序编写一个插件。
由于插件框架没有提供任何访问用户界面的方法,我现在正在尝试通过WinAPI手动执行此操作。扩展外部应用程序的菜单

更具体地说,我想为我的插件在“文件”菜单中添加一个自定义菜单项。

我使用FindWindow函数检索主窗口的句柄和使用使用getMenu第一次尝试没有成功,因为使用getMenu仅返回NULL。

我的下一步是使用EnumChildWindows和搜索具有文本“&文件”一个孩子(我真的不,因为它使本地化相当可怕喜欢这种方式)。但是,我只发现了菜单项的句柄,但我需要相应的HMENU才能使用AppendMenu,不是吗?
简单转换不起作用,并导致“无效的菜单句柄”。

实际上是否有可能实现我所尝试的?怎么样?

感谢您提前提出您的想法!

回答

1

它很可能不仅仅是一个HMENU。自定义菜单的实现很常见,一个Window提供的过时和不灵活。例如,比较Windows窗体的MenuStrip。

当然,这在你的方法中打了个大洞。

+0

但是Winsharp只需要它在这个特定的应用程序(他的插件是写的)工作,所以如果他可以使这种方法工作,为什么不呢? – Elemental 2010-07-04 10:29:38

+0

呃,他不能让它工作。 – 2010-07-04 11:01:11

+0

嗯 - 我明白。如果它是一个自定义菜单 - 你有任何想法如何实现(它看起来像一个操作系统为主题的菜单)?也许我能钩住菜单弹出本身的创建...... – Matthias 2010-07-04 11:34:05