1
gastlygem 2012-02-10 15:24:52 +08:00
Python没有。
Windows下GUI如果是基于WinForm的,用AutoIt或者AutoHotkey应该可以。如果是基于别的,就可能比较麻烦了。 另外这些Text Field是些什么内容,可否不通过UI读出来? |
2
jwu OP 应该是基于Winform的,因为系统是.net开发的,那我再去试下autoit,谢谢gastlygem
Text Field就是从数据库中抓出来的一些信息,譬如(其中xxx就是我希望复制出来的内容) 姓名:xxx 年龄:xxx |
3
likai 2012-02-10 15:32:43 +08:00
数据库出来的?为什么不直接读数据库
|
5
jwu OP 问题就在于我访问不到数据库...没有这个权限...所以只是想笨办法了
|
6
gastlygem 2012-02-10 15:47:36 +08:00
是什么数据库?那UI哪来的权限?没权限你可以要权限啊。
|
7
loading 2012-02-10 15:49:48 +08:00
春运都结束了,还走弯路干嘛。
|
8
avatasia 2012-02-10 15:50:55 +08:00
paython不是万能的。按照ios的设计原则,你的程序是不能访问其他程序的信息的。
你可以研究下vc, GetWindowText这样的方法,spy++可以帮助你找到窗口句柄。 |
9
jwu OP 是SQL 2005的数据库,这个UI是研发一并开发的,前后台。公司不给权限,这个工具是为了减轻日常重复工作的...
|
10
avatasia 2012-02-10 16:02:53 +08:00
@jwu 如果是c#的win form, 看下app.config或者用reflector反编译程序,从代码里扒数据库的连接字符串。
|
11
Echoldman 2012-02-10 16:11:01 +08:00
python本身没有这样的效果。但是python可以混合C语言,lz的需求可以通过Win32 SDK来实现,大致思路如下:通过枚举系统内所有的窗口,找到显示文本的窗口,向该窗口发送消息,然后我记得大概是要求重绘文字并hook之类的,都忘记了。具体你google一下,金山词霸之类的屏幕取词的,都是这么干的。
|
12
gDD 2012-02-10 16:18:58 +08:00 via iPod
可以参考NVDA
|
14
clino 2012-02-10 16:25:43 +08:00
看到这个我也是想起了 nvda
|
15
gastlygem 2012-02-10 16:25:43 +08:00
|
16
jwu OP @gastlygem 理解理解,处理政治问题俺最不拿手了,自己动手丰衣足食哈。我们这套系统开发的人遭就找不着了,也没有后续的开发补上,老板担心我们去弄给它弄坏了没人来修...现在就是大家凑合着用,有新增的需求只有曲线救国。希望下半年就将其换掉啦,换一套基于web的系统,那此类需求实现起来就应该容易了
|
17
VYSE 2012-02-12 14:21:24 +08:00
如果是非标准contrl32里的控件,而且spy 拿不到任何settext相关消息,只能注入dll hook wm_notify 类消息,肯定有设值的msg。
py可以做壳,另外写专职获取的exe,配合一下即可。 其实这种需求一般用au3,ahk来做 |