当前位置:首页 » 编程语言 » findwindowPython

findwindowPython

发布时间: 2022-10-04 10:11:55

‘壹’ python根据句柄如何自动点击按钮

用python的sendkeys直接模拟键盘,用ctype扩展来点鼠标。你需要做的就是用python打开浏览器,然后输入网站,在找到按钮的坐标(固定到程序里),然后点击就行了。不过简单的可以,复杂点的就要考虑很多问题了。

‘贰’ 如何用python激活指定窗口的输入框,方便下一步模拟输出

首先,要明确你的需求,“模拟键盘输入”这个需求有些笼统了,因为Win32上模拟输入的方法实在太多,各有不同的效果。
其次,把焦点移动到文本框并不是必需的。如果你只是想往文本框里输入字符串,你甚至都不需要知道怎么模拟键盘动作,因为Win32提供了更高层次的抽象WM_CHAR。另外一些情况下,你可能希望手动模拟键盘的击键动作WM_KEYDOWN和WM_KEYUP,例如你想展现用输入法打字的效果,或者你想调用某个组合键。
关于窗口句柄的获取,Win32里面把控件之类的也称作Window,但是FindWindow()只能查找顶层窗口(也就是狭义的“窗口”),如果需要查找子窗口(也就是通常所说的“控件”),需要用FindWindowEx()。
还是以记事本为例:
from ctypes import windll as win32
WM_CHAR = 0x0102

try:
hWnd = win32.user32.FindWindowW('Notepad', None)
assert hWnd
hEdit = win32.user32.FindWindowExW(hWnd, None, 'Edit', None)
assert hEdit
except AssertionError:
print('Notepad not found')
else:
for char in 'Hello, 世界':
win32.user32.SendMessageW(hEdit, WM_CHAR, ord(char), None)

示例程序运行的效果是:记事本自始至终都没有获得焦点,但是光标处插入了字符串。
在这个应用场景下,模拟键盘敲击并不是一个好的选择——输入的结果完全取决于你的键盘布局/输入法。虽然我国通行US QWERTY键盘,键码和英文字符基本对应,但直接把字符通过窗口消息传递过去,能轻松的保证输入的结果和要求完全一致,何乐而不为呢。
有关Win32的学习,我没有系统的学习过,个人的习惯是看别人做的示例代码,不懂的查MSDN…
国内有很多讲MFC开发的书,一般会讲解有关Win32的基础知识。然而书名里通常不会提到MFC和Win32,而是冠以Visual C++的名号,也是醉了…
无论是什么资料,通常都是面向C/C++环境的,Win32是面向C/C++的,Python只是封装了一下。建议在C/C++平台上学习,会方便许多。
VB/.NET/Delphi的相关资料也比Python多很多,作为一个源于社区的跨平台环境,Win32开发并不是Python的主要战场。

‘叁’ python语言怎么操作正在运行的Windows程序 比方说,我的QQ 正在运行

有两种方法,一种是用pywin32包,调用api findwindow 然后sendmessage关闭
另外就是调用系统命令 tskill

‘肆’ python获取打开的应用窗口输入字符

用win32模块(第三方模块需要下载安装)
方法win32gui.FindWindow()#获取每个应用程序的窗口
win32gui.FindWindowEx()#获取上面窗口下的控件 获取控件可以用spy++这款软件

win32gui.SendMessage()#输入‘字符’

win32gui.PostMessage()#按下发送按钮,具体参数网上找找 有问题可以问下

‘伍’ python pywin32 里面操作窗体,获取窗体里面的数据,在函数GetDlgItem函数中,怎么获取第二个参数的值

1.如何利用句柄操作windows窗体
首先,获得窗体的句柄 win32api.FindWindows()
第二,获得窗体中控件的id号,spy++
第三,根据控件的ID获得控件的句柄(hwnd) GetDlgItem(hwnd,loginID)
最后,利用控件句柄进行操作

python可以通过win32api轻松获取控件的属性值
通过标签找到主窗口句柄,然后通过主句柄获取下属控件句柄
#-*- coding: utf-8 -*- ##设置编码方式
import win32api,win32gui,win32con
label = 'tt' #此处假设主窗口名为tt
hld = win32gui.FindWindow(None, label)
if hld > 0:
dlg = win32api.FindWindowEx(hld, None, 'Edit', None)#获取hld下第一个为edit控件的句柄
buffer = '0' *50
len = win32gui.SendMessage(dlg, win32con.WM_GETTEXTLENGTH)+1 #获取edit控件文本长度
win32gui.SendMessage(dlg, win32con.WM_GETTEXT, len, buffer) #读取文本
print buffer[:len-1]
#虚拟鼠标点击按钮(或者回车)
btnhld = win32api.FindWindowEx(hld, None,'Button', None)
# win32gui.PostMessage(btnhld, win32con.WM_KEYDOWN, win32con.VK_RETURN, 0)
# win32gui.PostMessage(btnhld, win32con.WM_KEYUP, win32con.VK_RETURN, 0)
win32gui.PostMessage(btnhld, win32con.WM_LBUTTONDOWN, win32con.MK_LBUTTON, 0)
win32gui.PostMessage(btnhld, win32con.WM_LBUTTONUP, win32con.MK_LBUTTON, 0)
#获取显示器屏幕大小
width = win32api.GetSystemMetrics(win32con.SM_CXSCREEN)
height = win32api.GetSystemMetrics(win32con.SM_CYSCREEN)
#点击窗口button
w=win32ui.FindWindow(clsname,windowtitle)
b=w.GetDlgItem(窗口id)
b.postMessage(win32con.BM_CLICK)

#关闭窗体
import win32ui
import win32con
wnd=win32ui.FindWindow(classname,None)
wnd.SendMessage(win32con.WM_CLOSE) 成功!

import win32ui
w=win32ui.FindWindow(classname,窗体title)
print w.GetDlgItemText(0xFFFF) # 获得弹窗里的消息文字

最小化窗体
w=win32gui.FindWindow()
win32gui.CloseWindow(w)

‘陆’ python怎么实现在指定窗口输入文字呢

//根据窗口标题找到对应窗口的句柄
[cpp]
view
plain

hwnd
hq
=
findwindow(null,
title);
if
(hq
!=
null)
{
cout
<<
"找到对应窗口";
}
else
{
cout
<<
"没找到对应窗口";
}
//通过句柄向指定窗口发送模拟键盘按键消息
[cpp]
view
plain

sendmessage(hq,
wm_keydown,
'l',
0);

‘柒’ python怎么定位到windows窗口

前段时间使用了一下google的博客空间,感觉也很一般,所以现在把那里的几篇文章转过来。执行python脚本只需要对python文件做如下操作即可:在python文件里第一行加上#! /usr/bin/python,即你的python解释器所在的目录。另外还有一种写法是#! /

‘捌’ Python 如何获得一个Windows程序窗口,并在窗口里的当前

你好,
1、读取windows窗口,应该要用系统编程的知识实现接口,然后python调用
python 没有直接能实现该功能的模块
2、或者,你需要调用win32 api了已经不是python的标准范围

你可以看看 Pywin32 这个扩展库

‘玖’ Python的win32gui模块里的FindWindow怎么和re连用

不太记得了,但除了找固定名称的窗口外,还有遍历窗口的函数(可能是enum开头吧)
把全部窗口找出来再对比一下就知道了

‘拾’ python win32 同标题同class窗口怎么区分

Windows API 中有一个函数 EnumWindows 可以枚举屏幕上的窗口,然后再获取窗口标题或 class 进行判断一下就可以了。

热点内容
双存储冗余 发布:2024-12-23 12:09:16 浏览:664
解压缩太慢 发布:2024-12-23 12:08:36 浏览:535
linux恢复误删文件 发布:2024-12-23 11:59:36 浏览:493
平板电脑账号登录服务器错误 发布:2024-12-23 11:41:07 浏览:99
金蝶kis专业版数据库表 发布:2024-12-23 11:35:41 浏览:602
相册已经加密如何改密码 发布:2024-12-23 11:32:20 浏览:277
批量下载链接脚本 发布:2024-12-23 11:29:11 浏览:973
PHP画a梦 发布:2024-12-23 11:28:01 浏览:199
嗯安一个密码锁多少钱 发布:2024-12-23 11:21:19 浏览:864
ftp主动被动模式工作流程图 发布:2024-12-23 11:12:58 浏览:10