1. 目标: 全局下按下 alt+printScreen,窗口截图直接保存到桌面。
以前用ubuntu,按下 alt+printScreen, 截图就自动保存到了桌面。换到windows 10 , 截图被保存到了剪切板,总觉得缺了一步,所以写一个python小文件来把这一步给填上。
2. 新建一个 print_screen.pyw 文件, 注意是 .pyw
import os
import time
from datetime import datetime
import pyautogui
from pynput import keyboard
# 设置保存截图的目录
desktop = os.path.join(os.path.expanduser("~"), "Desktop")
def on_activate():
# 获取当前时间并格式化为字符串
current_time = datetime.now().strftime("%Y_%m_%d_%H_%M_%S")
screenshot_path = os.path.join(desktop, f"{current_time}.png")
# 截图并保存
screenshot = pyautogui.screenshot()
screenshot.save(screenshot_path)
print(f"Screenshot saved to {screenshot_path}")
# 定义键盘组合键
hotkey = keyboard.HotKey(keyboard.HotKey.parse('<alt>+<print_screen>'), on_activate)
def for_canonical(f):
return lambda k: f(l.canonical(k))
# 监听键盘事件
with keyboard.Listener(on_press=for_canonical(hotkey.press),
on_release=for_canonical(hotkey.release)) as l:
l.join()
3. 在新建一个 save_image.bat 文件
!!!注意这里需要换成自己的文件路径。
"C:\Users\Administrator\AppData\Local\Programs\Python\Python38\pythonw.exe" "C:\Users\Administrator\Desktop\tools\print_screen.pyw"
pause
4. 然后把save_image.bat 这个文件拖进这个位置:
C:\Users\Administrator\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup
5. 然后就是重启试试看。开机之后会有一个终端弹出来,关掉即可。
目前我只定义一个截图快捷键,也可以新建一些其他的快捷键,欢迎补充。
另外,我的电脑版本信息:
操作系统 Windows 10 OS Version 1809 (Build 17763.737)
Python 3.8.5