python获取窗口句柄
① 如何用python实现窗口抖动
- 1. 获取到当前窗口的句柄。可以使用GetForegroundWindow()函数来实现。
2. 获取到当前窗口的坐标位置。可以使用GetWindowRect()函数来实现。此处不仅需要当前窗口的句柄,也需要我们定义一个结构体来实现坐标值得存储。
3. 改变当前窗口的位置。可以使用SetWindowPos()函数来实现。函数原型为BOOL SetWindowPos(HWN hWnd,HWND hWndlnsertAfter,int X,int Y,int cx,int cy,UNIT.Flags),其中hWnd为窗口的句柄,hWndInsertAfter指在z序中的位于被置位的窗口前的窗口句柄,X指以客户坐标指定窗口新位置的左边界,Y指以客户坐标指定窗口新位置的顶边界,cx指以像素指定窗口的新的宽度,cy指以像素指定窗口的新的高度,uFlags:窗口尺寸和定位的标志。
② python中使用selenium获取窗口句柄时,window_handles取值出错
Form formPreview = new Form();
public Leaf(string name) : base(name) { }
public override void Add(Component c)
{
Console.WriteLine("Cannot add to a leaf");
}
public override void Remove(Component c)
{
Console.WriteLine("Cannot remove to a leaf");
}
public override void Display(int depth)
{
Console.WriteLine(new string('-',depth)+name);
}
}
③ python中获取子窗口的句柄
可以使用win32gui 以及pyhook 库来实现你的需求
④ 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控制windows弹出窗口
切换到新窗口,再定位元素
print browser.current_window_handle # 输出当前窗口句柄(网络)
handles = browser.window_handles # 获取当前窗口句柄集合(列表类型)
for handle in handles:# 切换窗口(切换到搜狗)
if handle!=browser.current_window_handle:
print 'switch to ',handle
browser.switch_to_window(handle)
print browser.current_window_handle # 输出当前窗口句柄(搜狗)
break
⑥ 可以用python获得别的进程的窗口句柄吗
你拿到的是主窗口句柄,还需要搜索遍历,找到子窗口或控件。有些是自定义,只能通过位置定义。
⑦ python里面,已经word和excle的窗口句柄,怎么操作对应的excle和word
使用os.path.abspath()函数来获取文件绝对路径文件目录结构如下: 解析假设app.py中想读取config.ini文件的内容,首先app.py需要知道config.ini的文件路径,从目录结构上可以看出,config.ini与app.py的父目录同级,也就是获取到app.py父目录(bin文件夹的路径)的父目录(config文件夹路径)的绝对路径再拼上config.ini文件名就能获取到config.ini文件: 首先,在app.py中测试一下: import os def load_file(): # 获取当前文件路径 current_path = os.path.abspath(__file__) # 获取当前文件的父目录 father_path = os.path.abspath(os.path.dirname(current_path) + os.path.sep + ".") # config.ini文件路径,获取当前目录的父目录的父目录与congig.ini拼接 config_file_path=os.path.join(os.path.abspath(os.path.dirname(current_path) + os.path.sep + ".."),'config.ini') print('当前目录:' + current_path) print('当前父目录:' + father_path) print('config.ini路径:' + config_file_path) load_file() 从结果中可以看到一切都正常,没有什么问题,假如现在需要从main.py中执行app.py的load_file()方法呢?来测试一下: main.py(处于同级目录): from bin.app import load_file if __name__=='__main__': load_file() 可以看到,获取的路径是完全没有问题的拓展内容 python os.path 常用模块介绍
⑧ python如何抓取当前运行软件的输入框
算办公自动化的一个应用。
先获取窗口的句柄 >>遍历窗口下的所有控件>>通过输入框的特征,比如标识名称,找到对应的输入框>>操作输入框属性>>处理获取新字符串>>通过sendpost返回给另一个输入框
⑨ Python怎么获取不到子窗口的句柄呢,如图,求指导,刚学习Python的小白吃,求指导
CSDN问答为您找到Python怎么获取不到子窗口的句柄呢,如图,求指导相关问题答案,如果想了解更多关于Python怎么获取不到子窗口的句柄呢,如图,求指导 python 技术问题等相关问答,请访问CSDN问答。