我需要对旧版 Win32 应用程序进行少量修改,但无法访问原始开发人员或源代码。该应用程序并非旨在由第三方扩展。我有什么选择这样做?
所需的更改并不广泛:单击特定文本标签时,我需要启动外部应用程序。
是否可以从外部应用程序访问和修改目标应用程序中的控件?
您所要求的可以通过使用 SetWindowsHookEx() 挂钩或直接对标签进行子类化来检测何时单击标签来完成。然后,您的钩子/子类可以启动外部进程。
如果您需要在单击文本时做出反应,您可以尝试使用Microsoft UI 自动化技术,在这种情况下,使用UI 自动化事件。
请注意,根据应用程序的编写方式,它可能有效,也可能无效。
您至少可以尝试酷炫的Inspect和Accessible Event Watcher工具来检查它是否可行。