pywin32 获取 windows 的窗体内文本框的内容
用 spy++去确认找到了文本框的句柄了。
用函数 win32gui.SendMessage 获取不了文本框的文本内容,用 str 类型的参数接收获取的内容的话没有获取到东西,而用 PyBuffer 类型去获取则得到类似于 16 进制的东西。
希望能找到解决方案。 以下是代码:
from win32gui import *
from win32api import *
from win32process import *
import win32con import time time.sleep(3) # 获取窗体句柄
hWnd = GetForegroundWindow()
print('hownd: ', hWnd) FormThreadID = GetCurrentThreadId()
print('FormThreadID: ', FormThreadID) CWndThreadID = GetWindowThreadProcessId(hWnd)
print('CWndThreadID: ', CWndThreadID) AttachThreadInput(CWndThreadID[0], FormThreadID, True) # 获取光标所在文本框句柄
hWnd = GetFocus()
print('hWnd: ', hWnd) AttachThreadInput(CWndThreadID[0], FormThreadID, False) # SendMessage(hWnd, win32con.WM_SETTEXT, 0, "mextb1860 第一个文本框") # 文本框内容长度
length = SendMessage(hWnd, win32con.WM_GETTEXTLENGTH)+1
print('Length: ', length) buf = ''*length
# 生成buffer对象
# buf = PyMakeBuffer(length) # 获取文本框内容
print('get: ', SendMessage(hWnd, win32con.WM_GETTEXT, length, buf)) print('text: ', buf)
pywin32 获取 windows 的窗体内文本框的内容的更多相关文章
- 关于MFC文本框输入内容的获取 与 设置文本框的内容
八月要开始做界面了<( ̄︶ ̄)/,然而目前只会用MFC╮(╯▽╰)╭ 好吧,言归正传,设置好文本框后,要获取用户输入的内容,可以用: GetDlgItemText() ; 这个函数有两个参数,第 ...
- jquery获取文本框的内容
使用jquery获取文本框的内容有以下几种: 1.根据ID取值(id属性): // javascript <script type="text/javascript"> ...
- .Net 文本框实现内容提示(仿Google、Baidu)
原文:.Net 文本框实现内容提示(仿Google.Baidu) 1.Demo下载: 文本框实现内容提示(仿Google.Baidu).rar 2.创建数据库.表(我用的sqlserver2008数据 ...
- JS事件 文本框内容改变事件(onchange)通过改变文本框的内容来触发onchange事件,同时执行被调用的程序。
文本框内容改变事件(onchange) 通过改变文本框的内容来触发onchange事件,同时执行被调用的程序. 如下代码,当用户将文本框内的文字改变后,弹出对话框"您改变了文本内容!&quo ...
- jQuery清除文本框,内容并设置不可用
JQuery清除文本框,内容并设置不可用 如果是设置只读,则将disabled换成readonly function CleanText(textid) { $("#"+text ...
- 在GridView控件内文本框实现TextChanged事件
本篇是教你实现GridView控件内的TextBox文本框实现自身的TextChanged事件.由于某些功能的需求,GridView控件内嵌TextBox,当TextBox值发生变化时,触发TextC ...
- Java+Selenium向文本框输入内容以后模仿键盘的"ENTRY"
在自动化测试中我们避免不了要模仿一些键盘上按钮的操作,普通的字母,数字,特殊符号,这些都是很简单的,有时候我们也会模仿"SHIFT","ALT","C ...
- Selenium向iframe富文本框输入内容
目录 前言 只输入纯文本 通过JS注入HTML代码 前言 在使用Selenium测试一些CMS后台系统时,有时会遇到一些富文本框,如下图所示: 整个富文本编辑器是通过iframe嵌入到网页中的,手动尝 ...
- js实现文本框中内容的放大显示
<!doctype html> <html> <head> <meta charset="utf-8"> <title> ...
随机推荐
- dotnet 获取程序所在路径的方法
在 dotnet 有很多方法可以获取当前程序所在的路径,但是这些方法获取到的路径有一点不相同,特别是在工作路径不是当前的程序所在的路径的时候 通过下面几个方法都可以拿到程序所在的文件夹或程序文件 Ap ...
- LightOJ - 1265 Island of Survival (概率dp)
You are in a reality show, and the show is way too real that they threw into an island. Only two kin ...
- wireshark使用心得 centos7安装wireshark: yum install wireshark wireshark-gnome
centos7 安装wireshark 安装 yum install wireshark yum install wireshark-gnome 关于pcap文件的文件解析网上资料有很多,我在这就不说 ...
- Spring MVC 模拟
在Spring MVC中,将一个普通的java类标注上Controller注解之后,再将类中的方法使用RequestMapping注解标注,那么这个普通的java类就够处理Web请求,示例代码如下: ...
- golang实现依赖注入
golang实现依赖注入 依赖注入是软件工程中经常使用到的一种技术,它提供了一种控制反转的机制,把控制权利交给了调用方.调用方来决定使用哪些参数,哪些对象来进行具体的业务逻辑. 它有几个好处: 1 它 ...
- java_学生成绩管理系统
//信1805-2 20183670 王云鹏 package student; import java.util.Scanner; public class ScoreManagement { sta ...
- saltstack的配置配置
一.为不同的环境设置不同的文件目录 1.1 修改配置文件 /etc/salt/master [root@node1 salt]# vim /etc/salt/master file_roots: ba ...
- 015 Ceph的集群管理_1
一.理解Cluster Map cluster map由monitor维护,用于跟踪ceph集群状态 当client启动时,会连接monitor获取cluster map副本,发现所有其他组件的位置, ...
- python之字符串的简单应用
1.实现5+7加法运算 value = input(">>>") v1, v2 = value.split('+') c1 = int(v1) c2 = int( ...
- 开发一个简单的ip解析webservice接口,并用springmvc生成客户端调用
1.创建webservice工程,这次先采用jax-ws框架,下次再尝试jax-rs(restful) 2.写个实现ip解析的类,接收传入的ip,并返回解析信息 3.Myeclipse——>Ne ...