有哪位大大能用 Python 读取输入法候选词列表,付费求!!

2018 年 7 月 20 日
 seobishop
就是调用 winapi 接口实现获得当前输入法的候选词列表,无奈对 C 一窍不通,有哪位大大能做的加一下我微信 vx,求帮实现,微信红包伺候。

V:seobishop
4890 次点击
所在节点    Python
14 条回复
luzhongqiu
2018 年 7 月 20 日
那你应该在 c 吧里求助咯
qq316107934
2018 年 7 月 20 日
为什么要 winapi 获取而不是解析词典文件呢? python 本身是脚本语言,对这方面支持又不好。
dongdawang
2018 年 7 月 20 日
应该是 IME 相关,你可以去看一下相关 API 的使用,以前用 c#写过点击 button,获取 textbox 中文本的功能。python 我记得也有 win32 的绑定。
seobishop
2018 年 7 月 20 日
@luzhongqiu python 调用 C,C 的代码网上也能找到些资料,就是拿不过来 python 用
seobishop
2018 年 7 月 20 日
@qq316107934 无奈其他业务代码都是 python 的,又不想全部换掉。
seobishop
2018 年 7 月 20 日
@dongdawang 是 ime 的,相关函数都在 windll.imm32 里面,只是我不会用,参数都是 C 的数据类型,跟 python 很不一样
dongdawang
2018 年 7 月 20 日
pywin32,这个是不是你想要的?c#中只需要将 c++中的类型翻译成 c#中对应的类型就可以用了,python 应该一样。
ysc3839
2018 年 7 月 20 日
能否提供一个 C/C++ 的实现作为参考?
wdlth
2018 年 7 月 20 日
WinSDK Inspect UIA
然后再用支持 UIA 的工具比如 pywinauto 去获取
测试了微软拼音可以,某狗因为是自主创新的 UI 获取不了

lniwn
2018 年 7 月 20 日
Rheinmetal
2018 年 7 月 27 日
@wdlth 请问如何不用找窗口
用 pywinauto 选择特定控件
我在 inspect 里面找到了这个
Name: "Conversion Candidate List"
ControlType: UIA_GroupControlTypeId (0xC36A)
wdlth
2018 年 7 月 27 日
@Rheinmetal pywinauto 可以通过 connect 连接上相应的进程,你可以去看看它的文档。
Rheinmetal
2018 年 7 月 28 日
@wdlth 看了文档 用 notepad 的例子 选了 uia backend 也找不到控件
Rheinmetal
2018 年 7 月 28 日
pywinauto.findwindows.find_windows(title="CandidateWindow", control_type="Pane",backend="uia")

@wdlth 这样可以了 多谢

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/472686

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX