python 1.py ( 349 , 83 , 1549 , 1013 ) 其中窗口信息(x1, y1, x2, y2),(x1, y1)是窗口左上角的坐標,(" />

衡阳派盒市场营销有限公司

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

怎么在Python中實現截圖功能

科技綠洲 ? 來源:Python實用寶典 ? 作者:Python實用寶典 ? 2023-11-03 15:32 ? 次閱讀

利用Python自帶的win32api和win32con、win32gui等模塊,我們能執行許多windows下的自動化操作。比如兩個窗口的自動點擊操作,從軟件中的窗口復制文本到txt中,甚至是截圖操作。

今天Python實用寶典就來講講怎么在Python中實現截圖功能,以下教程默認您已經安裝好了Python哦,沒有的話見這個教程,python詳細安裝指南

1.獲取窗口左上角及右下角坐標

圖片

結果:

  1. F:push20190929>python 1.py

  2. (349,83,1549,1013)

其中窗口信息(x1, y1, x2, y2),(x1, y1)是窗口左上角的坐標,(x2, y2)是窗口右下角的坐標。我們可以利用這個信息配合PIL進行截圖。但是在這之前,我們還要解決兩個問題:

  1. 該窗口并不在當前的界面上,被其他的軟件覆蓋到底層中,這時候需要 高亮窗口
  2. 該窗口 被最小化怎么辦

2.win32gui 高亮窗口

為了使得被疊在底層的窗口能放到最上層顯示,我們需要拿到窗口的handle,對其執行高亮操作,其實很簡單,我們剛剛獲得坐標信息的時候已經得到handle了,只需要做一下簡單的更改即可。

圖片

3. 還原最小化窗口

還有一種特殊情況就是窗口被縮小了,這時候我們就需要還原最小化窗口,其實也非常簡單,只要利用win32gui和win32con向該窗口發送一個信息即可。

圖片

效果如圖所示:

圖片

4.截圖

有了PIL模塊和窗口的坐標后,我們想截圖可非常簡單。PIL 模塊安裝:
pip install pillow
安裝完就可以試一下我們的完整代碼了,如下:

圖片

這個功能可好用了,比如說你需要監控一個窗口的運行狀況,不可能時時刻刻都去觀察它,你可以使用while循環不斷調用我們的窗口截圖腳本,先截圖進行保存,不僅如此,它還能擴展到非常多不可思議的操作哦!

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 模塊
    +關注

    關注

    7

    文章

    2735

    瀏覽量

    47751
  • WINDOWS
    +關注

    關注

    4

    文章

    3570

    瀏覽量

    89307
  • 自動化
    +關注

    關注

    29

    文章

    5622

    瀏覽量

    79667
  • python
    +關注

    關注

    56

    文章

    4807

    瀏覽量

    85040
  • 截圖
    +關注

    關注

    0

    文章

    21

    瀏覽量

    4124
收藏 人收藏

    評論

    相關推薦

    截圖功能打包后異常

    各位,我用labview實現截圖功能軟件的開發環境下,可以正常截圖,但是生成應用程序后,截圖
    發表于 03-21 15:14

    DM368的截圖功能

    請教一下DM368的DVSDK的demo有沒有截圖和錄像功能的代碼?
    發表于 06-21 11:52

    請問Python如何實現vlookup函數的功能

    vlookup函數功能非常強大,那Python如何實現
    發表于 11-06 06:11

    windows下安裝python linux下安裝python masOS下安裝python

    hello.py,代碼內容如下所示。print('hello, world!')運行程序python hello.py或python3 hello.py結果練習1.Python交互式
    發表于 06-11 16:59

    如何使用python的serial模塊實現基本的串口數據傳輸功能

    如何使用串口實現和單片機數據互傳?如何使用python的serial模塊實現基本的串口數據傳輸功能
    發表于 02-22 07:46

    介紹Python 3 的功能 讓人輕松地從Python 2遷移到Python 3

    為了使初學者能夠輕松地從 Python 2 向 Python 3 實現遷移,我收集了一些 Python 3 的功能,希望對大家有所幫助。
    的頭像 發表于 01-31 15:11 ?4551次閱讀

    Python語言人工智能功能及優勢

    其他語言制作的各種模塊輕松地聯結在一起。本文主要詳解Python語言人工智能功能及優勢,具體的跟隨小編來詳細的了解一下。
    發表于 05-22 14:29 ?1.2w次閱讀

    iPhone怎樣長截圖

    iOS的優秀毋庸多言,但這并不代表iOS無所不能。一些小細節小功能上,iOS表現得不那么令人滿意,例如在截屏方面,iOS很多地方都令人頭疼。例如,如何在iPhone上實現截圖,就讓
    的頭像 發表于 01-08 10:31 ?4250次閱讀

    如何使用python實現截圖自動存入Excel表

    如何使用python實現截圖自動存入Excel表
    的頭像 發表于 02-05 12:13 ?7309次閱讀

    Anaconda安裝python包seaborn

    Anaconda安裝python包seaborn(現代電源技術題庫)-Anaconda安裝pyt
    發表于 09-18 15:01 ?5次下載
    <b class='flag-5'>在</b>Anaconda<b class='flag-5'>中</b>安裝<b class='flag-5'>python</b>包seaborn

    抽樣Python是如何實現

    今天來和大家聊聊抽樣的幾種常用方法,以及Python是如何實現的。
    的頭像 發表于 08-05 10:59 ?1260次閱讀

    Python實現更簡單好用的函數運算緩存

    我們即將學習的是:Python實現更簡單好用的函數運算緩存。 函數運算緩存,顧名思義就是我們可以針對指定的函數,讓其記住過往參數輸入和返回結果,使得后續接收到相同的參數時跳過函數運
    的頭像 發表于 08-05 11:05 ?1045次閱讀

    Pythontelnetlib模塊的基本使用

    telnetlib 是 Python 標準庫的一個模塊,它提供了 Telnet 協議的客戶端功能。使用 telnetlib 模塊,我們可以 Py
    的頭像 發表于 05-04 14:27 ?8243次閱讀

    如何使用win32api實現自動喚醒并截圖的操作

    利用Python自帶的win32api和win32con、win32gui等模塊,我們能執行許多windows下的自動化操作。比如兩個窗口的自動點擊操作,從軟件的窗口復制文本到txt,甚至是
    的頭像 發表于 10-30 11:13 ?988次閱讀
    如何使用win32api<b class='flag-5'>實現</b>自動喚醒并<b class='flag-5'>截圖</b>的操作

    PythonAI的應用實例

    Python人工智能(AI)領域的應用極為廣泛且深入,從基礎的數據處理、模型訓練到高級的應用部署,Python都扮演著至關重要的角色。以下將詳細探討Python
    的頭像 發表于 07-19 17:16 ?1360次閱讀
    百家乐官网冲动| 百家乐街机| 百家乐官网最新投注方法| 大发888wf娱乐场下载| 宝马百家乐的玩法技巧和规则| 百家乐官网怎样捉住长开| 百乐门娱乐| 大发888188| 大发888娱乐真钱游戏 下载| 威尼斯人娱乐网站| 百家乐怎么玩请指教| 百家乐出千方法技巧| 百家乐手机投注| 百家乐流水打法| 百家乐开户送十元| 百家乐新台第二局| 百家乐翻天粤语版qvod| 玩百家乐是否有技巧| 百家乐太阳城怎么样| 百家乐浴盆博彩通排名| 百家乐软件稳赚| 怎样玩百家乐才能| 澳门百家乐赌| 24山玄空飞星排盘图| 百家乐做中介赚钱| ea百家乐打水| 网上百家乐真钱游戏| 威尼斯人娱乐城老品牌| 威尼斯人娱乐城真人游戏| 百盛百家乐的玩法技巧和规则 | 澳门百家乐网上赌| 百家乐现金网信誉排名| 好望角百家乐的玩法技巧和规则| 百家乐百家乐群| 足球百家乐投注计算| 百佬汇百家乐的玩法技巧和规则| 百家乐全透明牌靴| 百家乐怎么才赢| 百家乐太阳城真人游戏| 威尼斯人娱乐场送1688元礼金领取lrm | 大发888com|