寫一個BAT,按下後即可截取當前活動窗口屏幕,並保存成圖片文件
时间: 2023-08-16 14:09:21 浏览: 49
以下是一个可以在Windows上使用的BAT脚本,它可以截取当前窗口的屏幕并将其保存为PNG格式的图像文件:
```batch
@echo off
:: 获取当前窗口句柄
for /f "tokens=2 delims=:" %%a in ('echo %windir%\system32\user32.dll^|find "user32.dll"') do set "user32=%%a"
for /f "skip=1 tokens=1,2" %%a in ('%windir%\system32\tasklist.exe /fi "imagename eq explorer.exe" /nh') do (
set "pid=%%b"
)
for /f "skip=1 delims=" %%a in ('%windir%\system32\cmd.exe /c "%user32% /nogui /a # %pid%"') do (
set "hwnd=%%a"
)
:: 使用Windows Snipping Tool截屏
echo Press any key to start snipping...
pause>nul
start /wait snippingtool.exe /clip
:: 从剪贴板中获取截屏
echo Getting screenshot from clipboard...
powershell -command "Add-Type -AssemblyName System.Windows.Forms;$img=[System.Windows.Forms.Clipboard]::GetImage();$img.Save('screenshot.png',[System.Drawing.Imaging.ImageFormat]::Png)"
:: 关闭Snipping Tool
echo Closing Snipping Tool...
taskkill /f /im snippingtool.exe >nul
echo Done.
pause>nul
```
要使用此脚本,只需将其保存为`.bat`文件,然后双击运行即可。脚本将使用Windows自带的Snipping Tool截取当前窗口的屏幕,并将其保存为PNG格式的图像文件。请注意,此脚本需要Windows系统自带的PowerShell支持。