为什么我的Python代码给我同样的屏幕截图?

问题描述 投票:0回答:1

我从另一篇文章中获得了这段代码,该代码应该可以非常快地截取屏幕截图。我现在正在试验,我注意到每次运行代码时它都会给我相同的屏幕截图。

import win32gui
import win32ui
import win32con

w = 1920
h = 1080

windowname = "My_Window"

def window_capture():
    hwnd = win32gui.FindWindow(None, windowname)
    wDC = win32gui.GetWindowDC(hwnd)
    dcObj=win32ui.CreateDCFromHandle(wDC)
    cDC=dcObj.CreateCompatibleDC()
    dataBitMap = win32ui.CreateBitmap()
    dataBitMap.CreateCompatibleBitmap(dcObj, w, h)
    cDC.SelectObject(dataBitMap)
    cDC.BitBlt((0,0),(w, h) , dcObj, (0,0), win32con.SRCCOPY)
    #save screenshot
    dataBitMap.SaveBitmapFile(cDC, 'screenshot.bmp')

    # Free Resources
    dcObj.DeleteDC()
    cDC.DeleteDC()
    win32gui.ReleaseDC(hwnd, wDC)
    win32gui.DeleteObject(dataBitMap.GetHandle())

window_capture()

一旦我启动我的程序,我希望它截取屏幕截图并运行它,它就会完美地保存它。但是,当我第二次运行它并且程序中的视觉效果发生变化时,它仍然为我提供了我拍摄的第一个屏幕截图。我希望它每次运行时都能给我不同的屏幕截图。

python winapi screenshot
1个回答
0
投票

我运行了该程序几次,但该程序按照您的预期运行良好。您是否只是重新启动而没有更改任何内容? 尝试更改一些内容并重新启动。

© www.soinside.com 2019 - 2024. All rights reserved.