openupan 函数中存在一个判断 U盘是否已经打开的机制,通过 isopened 变量来记录 U盘是否已经打开。当 U盘存在且 isopenedFalse 时,会执行打开 U盘的操作,并将 isopened 设置为 True。当 U盘不存在且 isopenedTrue 时,会将 isopened 设置为 False。这样可以在 U盘插入和拔出的时候进行相应的操作。

def openupan():
    '''插入U盘自动打开
    ---------
    用于顶替360的U盘助手功能'''
    isopened = False
    while True:
        if os.path.exists(UPANPATH):
            if not isopened:
                cmd(f'explorer '{UPANPATH}'')
                isopened = True
                log('I','已打开U盘')
        else:
            if isopened:
                isopened = False
                log('I','已拔出U盘')
        time.sleep(UPANSLEEP)

该函数首先定义一个名为 isopened 的布尔变量,并将其初始值设置为 False,表示 U 盘尚未打开。

接着进入一个无限循环,不断检测 U 盘路径 UPANPATH 是否存在。如果存在,则判断 isopened 是否为 False,如果是,则执行 cmd(f'explorer '{UPANPATH}'') 命令打开 U 盘,并将 isopened 设置为 True,表示 U 盘已经打开。

如果 U 盘不存在,则判断 isopened 是否为 True,如果是,则将 isopened 设置为 False,表示 U 盘已经拔出。

最后,函数使用 time.sleep(UPANSLEEP) 让循环休眠一段时间,避免过于频繁地检测 U 盘状态。

通过这种机制,openupan 函数可以根据 U 盘的存在与否以及 isopened 的状态,在 U 盘插入和拔出时执行相应的操作,实现 U 盘插入自动打开的功能。

桌面文件自动复制工具 deskcopy 代码分析:U盘插入自动打开功能

原文地址: https://www.cveoy.top/t/topic/qlc8 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录