说明
众所周知,QQ聊天窗口是自绘的(DirectUI),常规方法比如FindWindowExA取不到对话框内聊天文本。
聊天文本有何用?
很多用处,比如可做智能客服,比如远控登录该QQ的电脑(做个侍服器,收文本指令,执行相应功能),等等。
效果图
做法说明
用到IAccessible接口。
例程下载
别人把IAccessible接口封装成了模块,此处提供模块使用例程下载。
下载地址:https://download.csdn.net/download/libofsdnu/89387715。
关于IAccessible 接口
IAccessible 接口 (oleacc.h)
公开使用户界面元素及其子级可供客户端应用程序访问的方法和属性。
继承
IAccessible 接口继承自 IDispatch 接口。 IAccessible 还具有以下类型的成员:
方法
IAccessible 接口具有以下方法。
IAccessible::accDoDefaultAction
IAccessible::accDoDefaultAction 方法执行指定对象的默认操作。 并非所有对象都有默认操作。
IAccessible::accHitTest
IAccessible::accHitTest 方法检索在屏幕上特定点显示的子元素或子对象。
IAccessible::accLocation
IAccessible::accLocation 方法检索指定对象的当前屏幕位置。 所有视觉对象都必须支持此方法。 声音对象不支持此方法。
IAccessible::accNavigate
IAccessible::accNavigate 方法遍历到容器中的另一个 UI 元素并检索对象。 此方法是可选的。
IAccessible::accSelect
IAccessible::accSelect 方法修改所选内容或移动指定对象的键盘焦点。 支持选择或接收键盘焦点的所有对象都必须支持此方法。
IAccessible::get_accChild
IAccessible::get_accChild 方法检索指定子级的 IDispatch(如果存在)。 所有对象都必须支持此属性。
IAccessible::get_accChildCount
IAccessible::get_accChildCount 方法检索属于此对象的子级数。 所有对象都必须支持此属性。
IAccessible::get_accDefaultAction
IAccessible::get_accDefaultAction 方法检索指示对象的默认操作的字符串。 并非所有对象都有默认操作。
IAccessible::get_accDescription
IAccessible::get_accDescription 方法检索描述指定对象的视觉外观的字符串。 并非所有对象都有说明。
IAccessible::get_accFocus
IAccessible::get_accFocus 方法检索具有键盘焦点的对象。 所有可能接收键盘焦点的对象都必须支持此属性。
IAccessible::get_accHelp
IAccessible::get_accHelp 方法检索对象的 Help 属性字符串。 并非所有对象都支持此属性。
IAccessible::get_accHelpTopic
IAccessible::get_accHelpTopic 方法检索与指定对象关联的 WinHelp 文件的完整路径;它还检索该文件中相应主题的标识符。
IAccessible::get_accKeyboardShortcut
IAccessible::get_accKeyboardShortcut 方法检索指定对象的快捷键或访问键,也称为助记键。 具有快捷键或访问键的所有对象都支持此属性。
IAccessible::get_accName
IAccessible::get_accName 方法检索指定对象的名称。 所有对象都支持此属性。
IAccessible::get_accParent
IAccessible::get_accParent 方法检索对象的父对象的 IDispatch。 所有对象都支持此属性。
IAccessible::get_accRole
IAccessible::get_accRole 方法检索描述指定对象的角色的信息。 所有对象都支持此属性。
IAccessible::get_accSelection
IAccessible::get_accSelection 方法检索此对象的选定子级。 支持选择的所有对象都必须支持此属性。
IAccessible::get_accState
IAccessible::get_accState 方法检索指定对象的当前状态。 所有对象都支持此属性。
IAccessible::get_accValue
IAccessible::get_accValue 方法检索指定对象的值。 并非所有对象都有值。
IAccessible::p ut_accName