python 自定义截图快捷键

1. 目标: 全局下按下 alt+printScreen,窗口截图直接保存到桌面。

以前用ubuntu,按下 alt+printScreen, 截图就自动保存到了桌面。换到windows 10 , 截图被保存到了剪切板,总觉得缺了一步,所以写一个python小文件来把这一步给填上。

2. 新建一个 print_screen.pyw 文件, 注意是 .pyw

import time
import os
import pyautogui as pt
from PIL.ImageGrab import grabclipboard
from pynput.keyboard import GlobalHotKeys

pt.FAILSAFE = True      # keep safe :)
 
def chinese_time():
    # print(datetime.now())       # 2020-12-31 19:40:58.431721
    pretty_time = time.strftime("%Y-%m-%d--%H-%M-%S")
    # print(pretty_time)  # 2020-12-31 19:40:58
    return pretty_time

def save_image():
    dir_name = r"C:\Users\Administrator\Desktop"
    file_name = chinese_time()

    time.sleep(.1)
    image = grabclipboard()
    os.chdir(dir_name)
    image.save(file_name + '.png', 'PNG', quality=95)   # 增强图像质量。95最高了。

def main():
    # pt.hotkey('alt', 'printscreen')  # 注意这里的写法  print_screen
    # GlobalHotKeys 本身是一个 listener
    with GlobalHotKeys({'+': save_image}) as h:
        h.join()

if __name__ == '__main__':
    main()

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

你可能感兴趣的:(python 自定义截图快捷键)