相关文章推荐
含蓄的饭盒  ·  PHP模拟发送POST请求之五curl基本使 ...·  3 月前    · 
淡定的可乐  ·  Perl编程:文件句柄与文件操作详解·  2 月前    · 
沉着的熊猫  ·  如何实现CSS中flex布局最后一行左对齐? ...·  1 年前    · 
纯真的猕猴桃  ·  Selenium之元素定位-css - ...·  1 年前    · 
斯文的洋葱  ·  在python中获取正方形边缘的随机点·  2 年前    · 
爱听歌的铁链  ·  【DB宝89】PG高可用集群之Patroni ...·  2 年前    · 
爱喝酒的白开水  ·  JAVA实现PDF首页转缩略图 - 简书·  2 年前    · 
Code  ›  如何使用pywin32获取Python中特定应用程序窗口的句柄?开发者社区
python python函数 文件句柄
https://cloud.tencent.com/developer/ask/sof/108230647/answer/132869773
慷慨的小刀
7 月前
首页
学习
活动
专区
工具
TVP 最新优惠活动
返回腾讯云官网
提问

问 如何使用pywin32获取Python中特定应用程序窗口的句柄?

Stack Overflow用户
提问于 2020-04-11 03:35:55
EN

我试图修改一些Python代码,这些代码可以截取Windows 10中特定应用程序窗口的截图。为此,我尝试使用来自 win32ui 包的pywin32 / win32gui 模块。以下是破译的代码:

代码语言: javascript
复制
def getWindow():
    name = "Windows PowerShell"
    window = win32ui.FindWindow(None, name)
    windowDC = win32gui.GetWindowDC(window)

最后一行将导致错误。以下是控制台输出的相关部分:

代码语言: javascript
复制
  File ".\fake_file_name.py", line 9, in getWindow
    windowDC = win32gui.GetWindowDC(window)
TypeError: The object is not a PyHANDLE object

我不太熟悉Python的类型系统或错误消息,但是这个错误使得 GetWindowDC 看起来像是在期待 PyHANDLE 类型的争论。我可以为 文献资料 找到的 win32gui.FindWindow 使它看起来像一个 PyHANDLE 确实是输出类型。

另一方面,这些非常相似的代码行来自于一个可以工作的函数:

代码语言: javascript
复制
    hwin = win32gui.GetDesktopWindow()
    hwindc = win32gui.GetWindowDC(hwin)

这是 doc页面 for win32gui.GetDesktopWindow 。如果前面显示的错误消息没有具体提到 PyHANDLE ,我只会假设 FindWindow 和 GetDesktopWindow 返回不同和不兼容的类型。

有人能帮助我理解这个错误信息的含义以及它出现的原因吗?我还会对示例代码感兴趣,这些代码获取名为“”的窗口的设备上下文,就像我的坏代码试图做的那样。

其他信息: 文件页 for win32gui.GetWindowDC

1 3.8K 0 票数 2
EN
python
pywin32
win32gui

Stack Overflow用户

回答已采纳

发布于 2020-04-11 03:45:26

您可以使用 EnumWindows() ,这将搜索所有的窗口,在 MSDN文档 中读取它

代码语言: javascript
复制
import win32gui
def getShell():
    thelist = []
    def findit(hwnd,ctx):
        if win32gui.GetWindowText(hwnd) == "Windows PowerShell": # check the title
            thelist.append(hwnd)
 
推荐文章
含蓄的饭盒  ·  PHP模拟发送POST请求之五curl基本使用和多线程优化 - 枕边书
3 月前
淡定的可乐  ·  Perl编程:文件句柄与文件操作详解
2 月前
沉着的熊猫  ·  如何实现CSS中flex布局最后一行左对齐?-阿里云开发者社区
1 年前
纯真的猕猴桃  ·  Selenium之元素定位-css - linux超 - 博客园
1 年前
斯文的洋葱  ·  在python中获取正方形边缘的随机点
2 年前
爱听歌的铁链  ·  【DB宝89】PG高可用集群之Patroni + etcd + HAProxy + keepalived+普罗米修斯监控部署 - 墨天轮
2 年前
爱喝酒的白开水  ·  JAVA实现PDF首页转缩略图 - 简书
2 年前
今天看啥   ·   Py中国   ·   codingpro   ·   小百科   ·   link之家   ·   卧龙AI搜索
删除内容请联系邮箱 2879853325@qq.com
Code - 代码工具平台
© 2024 ~ 沪ICP备11025650号