婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁 > 知識庫 > python基于win32實現窗口截圖

python基于win32實現窗口截圖

熱門標簽:南京crm外呼系統排名 云南地圖標注 北京外呼電銷機器人招商 賓館能在百度地圖標注嗎 汕頭電商外呼系統供應商 電銷機器人 金倫通信 crm電銷機器人 鄭州智能外呼系統中心 400電話 申請 條件

本文實例為大家分享了python基于win32實現窗口截圖的具體代碼,供大家參考,具體內容如下

獲取窗口句柄和標題

import win32gui

hwnd_title = dict()


def _get_all_hwnd(hwnd, mouse):
 if win32gui.IsWindow(hwnd) and win32gui.IsWindowEnabled(hwnd) and win32gui.IsWindowVisible(hwnd):
  hwnd_title.update({hwnd: win32gui.GetWindowText(hwnd)})


win32gui.EnumWindows(_get_all_hwnd, 0)
for wnd in hwnd_title.items():
 print(wnd)

運行結果如下,格式為:(窗口句柄, 窗口標題)
可自行根據標題篩選想要的窗口

(65772, '')
(262798, 'pythonProject – screenShot.py')
(5114244, '項目里程碑.ppt[兼容模式] - PowerPoint')
(3803304, '')
(133646, '')
(133642, '')

根據窗口句柄截圖

import win32com.client
import win32gui
import win32api
import win32con
import win32ui
from PIL import Image


def setForeground(hwnd):
 """
  將窗口設置為最前面
 :param hwnd: 窗口句柄 一個整數
 """
 if hwnd != win32gui.GetForegroundWindow():
  shell = win32com.client.Dispatch("WScript.Shell")
  shell.SendKeys('%')
  win32gui.SetForegroundWindow(hwnd)


def winShot(hwnd):
 """
  根據窗口句柄截取窗口視圖
 :param hwnd: 窗口句柄 一個整數
 """
 bmpFileName = 'screenshot.bmp'
 jpgFileName = 'screenshot.jpg'

 r = win32gui.GetWindowRect(hwnd)
 hwin = win32gui.GetDesktopWindow()
 # 圖片最左邊距離主屏左上角的水平距離
 left = win32api.GetSystemMetrics(win32con.SM_XVIRTUALSCREEN)
 # 圖片最上邊距離主屏左上角的垂直距離
 top = win32api.GetSystemMetrics(win32con.SM_YVIRTUALSCREEN)
 hwindc = win32gui.GetWindowDC(hwin)
 srcdc = win32ui.CreateDCFromHandle(hwindc)
 memdc = srcdc.CreateCompatibleDC()
 bmp = win32ui.CreateBitmap()
 bmp.CreateCompatibleBitmap(srcdc, r[2] - r[0], r[3] - r[1])
 memdc.SelectObject(bmp)
 memdc.BitBlt((-r[0], top - r[1]), (r[2], r[3] - top), srcdc, (left, top), win32con.SRCCOPY)
 bmp.SaveBitmapFile(memdc, bmpFileName)

 im = Image.open(bmpFileName)
 im = im.convert('RGB')
 im.save(jpgFileName)

if __name__ == '__main__':
 setForeground(5114244)
 winShot(5114244)

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。

您可能感興趣的文章:
  • Python爬蟲之Selenium實現窗口截圖
  • python3應用windows api對后臺程序窗口及桌面截圖并保存的方法

標簽:浙江 昆明 西寧 懷化 梅州 石家莊 錫林郭勒盟 文山

巨人網絡通訊聲明:本文標題《python基于win32實現窗口截圖》,本文關鍵詞  python,基于,win32,實現,窗口,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《python基于win32實現窗口截圖》相關的同類信息!
  • 本頁收集關于python基于win32實現窗口截圖的相關信息資訊供網民參考!
  • 企业400电话

    智能AI客服机器人
    15000

    在线订购

    合计11份范本:公司章程+合伙协议+出资协议+合作协议+股权转让协议+增资扩股协议+股权激励+股东会决议+董事会决议

    推薦文章
    主站蜘蛛池模板: 邓州市| 中方县| 普定县| 安化县| 黑水县| 汶上县| 固镇县| 纳雍县| 黑河市| 南召县| 河东区| 成都市| 洮南市| 马山县| 五大连池市| 贵溪市| 永登县| 建宁县| 邓州市| 仁化县| 桂东县| 安宁市| 林周县| 远安县| 漯河市| 长丰县| 广平县| 嫩江县| 阿勒泰市| 文化| 肇州县| 金塔县| 孙吴县| 八宿县| 菏泽市| 墨脱县| 民乐县| 福海县| 阿瓦提县| 讷河市| 奉贤区|