调用活动辅助功能 API
Microsoft Active Accessibility 为客户端和服务器提供应用程序编程接口 (API) 。 大多数在 Microsoft Active Accessibility 动态链接库中实现,Oleacc.dll,但 NotifyWinEvent、 SetWinEventHook 和 UnhookWinEvent 在 user32.dll 中实现,后者是 Microsoft Windows 操作系统的核心组件。
运行 Windows 95 或 Microsoft Windows NT 4.0 的计算机没有安装Oleacc.dll和正确版本的user32.dll,因为 Microsoft Active Accessibility 已分阶段合并到后续版本的 Windows 中。 因此,在这些平台上运行的应用程序使用 LoadLibrary 函数在运行时显式链接到Oleacc.dll,而不是依赖于导入库。 Active Accessibility 1.3 支持 Windows 95 和 Microsoft Windows NT 4.0。 Microsoft Active Accessibility 不支持早期版本的 Windows。
服务器应用程序使用 GetProcAddress 函数检索 Microsoft Active Accessibility 函数的地址,然后通过函数指针进行调用。 如果调用在 Oleacc.dll 中实现的函数,则服务器应用程序将在调用 GetProcAddress 时使用从 LoadLibrary 返回的句柄。 如果调用 user32.dll 中定义的函数,服务器应用程序将调用指定“USER32”的 GetModuleHandle ,并在调用 GetProcAddress 时使用返回的模块句柄。
例如,如果应用程序使用 NotifyWinEvent,它将使用 user32.dll 的模块句柄调用 GetProcAddress 以获取函数的地址。 如果调用成功 (表示此版本的 Windows 支持 Microsoft Active Accessibility) ,则应用程序将设置一个标志,指示可以安全地调用 NotifyWinEvent。 从 GetProcAddress 接收的地址存储在函数指针变量中,并在整个代码中使用。