【发布时间】:2012-01-06 21:09:47
【问题描述】:
我有一个正在运行的选项卡式应用程序,我想从另一个应用程序中选择并重新加载该应用程序的特定选项卡。你会建议我现在做什么方法/方法?
例如,我有兴趣重新加载 Opera 浏览器的 Web 选项卡控件,我目前在选项卡 1 中打开一个页面,我希望我的程序选择/关注选项卡 2。感谢任何帮助。
【问题讨论】:
我有一个正在运行的选项卡式应用程序,我想从另一个应用程序中选择并重新加载该应用程序的特定选项卡。你会建议我现在做什么方法/方法?
例如,我有兴趣重新加载 Opera 浏览器的 Web 选项卡控件,我目前在选项卡 1 中打开一个页面,我希望我的程序选择/关注选项卡 2。感谢任何帮助。
【问题讨论】:
您可以使用SendMessage() 来执行此操作。这是一个 Windows 功能,允许您向窗口发送消息,这些窗口不必属于您的应用程序。在 Windows 中,应用程序可以通过它们的 Window Handle 来识别。您可以使用 HWND_BROADCAST 访问所有顶级窗口,例如 Opera 浏览器。消息用于区分应该执行的操作。一些经典的是 WM_PAINT(绘制窗口)和 WM_QUIT(终止应用程序)。您可以使用Spy++ 等工具来确定需要发送哪些消息。
Windows 的最新版本在 Windows 消息方面提供了更多安全性,因此您可能会遇到一些障碍。如果两个应用程序都在同一个桌面会话中运行,您应该没问题。
您可能感兴趣的另一种方法是窗口挂钩。这是一个更复杂的主题,但是有一个很棒的库,叫做 EasyHook 可以帮助你。
【讨论】: