gpt4 book ai didi

c# - 如何从 C# 中的应用程序获取在后台运行的应用程序的菜单项的句柄

转载 作者:行者123 更新时间:2023-11-30 12:30:21 36 4
gpt4 key购买 nike

我正在开发一个应用程序,这将是许多其他在后台运行的工具的面孔。我面临一个问题。后台应用启动时,需要加载一个特定的文件(文件-->加载-->文件名)。

设前端应用为Fapp,后台应用为BappFapp 是否可以获取Bapp 的 菜单项的句柄并触发加载函数。我能够获得按钮的句柄,但不能为菜单项做同样的事情。

现在我们正在使用 AutoIt 实现这一点,我正在尝试在 C# 本身中实现这一点。

最佳答案

在你获得了你想调用它的菜单的窗口句柄之后,你就可以使用

  • HMENU GetMenu(HWND) 获取菜单的windows api
  • HMENU GetSubMenu(HMENU, int) 进入文件菜单并再次打开菜单。
  • BOOL GetMenuItemInfo( ... ) 获取菜单信息
  • 您可以使用 PostMessage((IntPtr)hWnd, WM_COMMAND, 0, ID_MENU_ITEM); ( related post ) 来点击该项目。

所有这些 api 都是 AutoIt 调用的(我认为)。如果您的 Bapp 是具有普通 Windows 菜单的普通 Windows 应用程序,而不是花哨的 WPF 应用程序或功能区,则此解决方案有效。如果是这种情况,那么您看到的菜单可能不是菜单(无论如何从技术上讲)

关于c# - 如何从 C# 中的应用程序获取在后台运行的应用程序的菜单项的句柄,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16271512/

36 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com