利用Python自帶的win32api和win32con、win32gui等模塊,我們能執(zhí)行許多windows下的自動化操作。比如兩個窗口的自動點擊操作,從軟件中的窗口復(fù)制文本到txt中,甚至是截圖操作。
今天Python實用寶典就來講講怎么在Python中實現(xiàn)截圖功能,以下教程默認您已經(jīng)安裝好了Python哦,沒有的話見這個教程,python詳細安裝指南:
1.獲取窗口左上角及右下角坐標
結(jié)果:
F:push20190929>python 1.py
(349,83,1549,1013)
其中窗口信息(x1, y1, x2, y2),(x1, y1)是窗口左上角的坐標,(x2, y2)是窗口右下角的坐標。我們可以利用這個信息配合PIL進行截圖。但是在這之前,我們還要解決兩個問題:
- 該窗口并不在當(dāng)前的界面上,被其他的軟件覆蓋到底層中,這時候需要 高亮窗口 。
- 該窗口 被最小化怎么辦 ?
2.win32gui 高亮窗口
為了使得被疊在底層的窗口能放到最上層顯示,我們需要拿到窗口的handle,對其執(zhí)行高亮操作,其實很簡單,我們剛剛獲得坐標信息的時候已經(jīng)得到handle了,只需要做一下簡單的更改即可。
3. 還原最小化窗口
還有一種特殊情況就是窗口被縮小了,這時候我們就需要還原最小化窗口,其實也非常簡單,只要利用win32gui和win32con向該窗口發(fā)送一個信息即可。
效果如圖所示:
4.截圖
有了PIL模塊和窗口的坐標后,我們想截圖可非常簡單。PIL 模塊安裝:
pip install pillow
安裝完就可以試一下我們的完整代碼了,如下:
這個功能可好用了,比如說你需要監(jiān)控一個窗口的運行狀況,不可能時時刻刻都去觀察它,你可以使用while循環(huán)不斷調(diào)用我們的窗口截圖腳本,先截圖進行保存,不僅如此,它還能擴展到非常多不可思議的操作哦!
-
模塊
+關(guān)注
關(guān)注
7文章
2730瀏覽量
47643 -
WINDOWS
+關(guān)注
關(guān)注
4文章
3556瀏覽量
89081 -
自動化
+關(guān)注
關(guān)注
29文章
5613瀏覽量
79513 -
python
+關(guān)注
關(guān)注
56文章
4805瀏覽量
84927 -
截圖
+關(guān)注
關(guān)注
0文章
21瀏覽量
4122
發(fā)布評論請先 登錄
相關(guān)推薦
評論