python操作应用程序_python操作应用程序窗口句柄,输入文本

https://www.cnblogs.com/klb561/p/9392560.html

一, 首先import win32gui, win32con

二, 使用win32gui.FindWindow找到目标程序:

win = win32gui.FindWindow(None, ‘User Login’)

三, 使用win32gui.FindWindowEx找到目标文本框:

tid = win32gui.FindWindowEx(win, None, ‘Edit’, None)

四, 使用win32gui.SendMessage发送文本到目标文本框:

win32gui.SendMessage(tid, win32con.WM_SETTEXT, None, ‘hello’)

当然了,可以继续找到下一个文本框:

username = win32gui.FindWindowEx(win, tid, ‘Edit’, None)

只是还没找到给字符串加回车的功能,在记事本里可以实现,不知道为什么在这里不行。如果各位大侠有知道的希望不吝赐教。

目前先研究到这里。以防忘记所以记在这里,以备以后使用。

更新:已经找到发送回车的方法:

win32gui.SendMessage(tid, win32con.WM_SETTEXT, None, ‘hello’)

win32gui.PostMessage(tid, win32con.WM_KEYDOWN, win32con.VK_RETURN, 0)

win32gui.PostMessage(tid, win32con.WM_KEYUP, win32con.VK_RETURN, 0)

https://blog.csdn.net/seele52/article/details/17504925

Part 1: 查找窗体句柄

貌似在win32编程的世界里,包括窗口到文本框的所有控件就是窗体,所有的窗体都有独立的句柄。要操作任意一个窗体,你都需要找到这个窗体的句柄,这里,我们就可以用到FindWindow函数和FindWindowEx函数。在pywin32中,他们都属于win32gui的模块。

FindWindow(lpClassName=None, lpWindowName=None):

描述:自顶层窗口(也就是桌面)开始搜索条件匹配的窗体,并返回这个窗体的句柄。不搜索子窗口、不区分大小写。找不到就返回0

参数:

lpClassName:字符型,是窗体的类名,这个可以在Spy++里找到。

lpWindowName:字符型,是窗口名,也就是标题栏上你能看见的那个标题。

说明:这个函数我们仅能用来找主窗口。

FindWindowEx(hwndParent=0, hwndChildAfter=0, lpszClass=None, lpszWindow=None);

描述:搜索类名和窗体名匹配的窗体,并返回这个窗体的句柄。不区分大小写,找不到就返回0。

参数:

hwndParent:若不为0,则搜索句柄为hwndParent窗体的子窗体。

hwndChildAfter:若不为0,则按照z-index的顺序从hwndChildAfter向后开始搜索子窗体,否则从第一个子窗体开始搜索。

lpClassName:字符型,是窗体的类名,这个可以在Spy++里找到。

lpWindowName:字符型,是窗口名,也就是标题栏上你能看见的那个标题。

说明:找到了主窗口以后就靠它来定位子窗体啦。

————————————————

版权声明:本文为CSDN博主「橘子一方」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。

原文链接:https://blog.csdn.net/seele52/article/details/17504925

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值