human 用python获取windows进程名为大家来找茬的截图;
以下是使用Python获取Windows进程名为“大家来找茬”的截图的代码示例:
import psutil
import os
# 获取进程名为“大家来找茬”的进程ID
for proc in psutil.process_iter(['pid', 'name']):
if proc.info['name'] == 'FindDifference.exe':
proc_id = proc.info['pid']
# 获取进程ID对应的窗口句柄
hwnd = None
for h in psutil.Process(proc_id).windows():
if h.title == '大家来找茬 - 腾讯游戏':
hwnd = h.hwnd
# 截图
if hwnd:
os.system(f"powershell -c \"$w = New-Object System.Windows.Forms.Form; $w.WindowState = 'Maximized'; $w.ShowInTaskbar = $false; $w.TopMost = $true; $w.FormBorderStyle = 'None'; $w.WindowStyle = 'Hidden'; $w.StartPosition = 'Manual'; $w.Location = [System.Drawing.Point]::Empty; $w.Size = [System.Drawing.Size]::Empty; $w.Opacity = 0.1; $w.Show(); $p = Get-Process -Id {proc_id}; $r = $p.MainWindowHandle; $s = New-Object System.Drawing.Size($w.Width, $w.Height); $b = New-Object System.Drawing.Bitmap($s.Width, $s.Height); $g = [System.Drawing.Graphics]::FromImage($b); $g.CopyFromScreen($r.Location, [System.Drawing.Point]::Empty, $s); $b.Save('screenshot.png'); $w.Close()\"")
else:
print("未找到窗口句柄")
这段代码使用了psutil模块来获取进程ID和窗口句柄,并使用os.system函数调用PowerShell来截图。截图后的图片保存在当前目录下的screenshot.png文件中。注意,这段代码只能在Windows系统上运行
原文地址: https://www.cveoy.top/t/topic/czSI 著作权归作者所有。请勿转载和采集!