编辑代码

import time
from ctypes import cast, POINTER, windll
from comtypes import CLSCTX_ALL
from pycaw.pycaw import AudioUtilities, IAudioEndpointVolume
import os
import sys

def 设置音量(volume):
    设备 = AudioUtilities.GetSpeakers()
    接口 = 设备.Activate(IAudioEndpointVolume._iid_, CLSCTX_ALL, None)
    音量控制 = cast(接口, POINTER(IAudioEndpointVolume))
    音量控制.SetMasterVolumeLevelScalar(volume, None)

def 获取音量():
    设备 = AudioUtilities.GetSpeakers()
    接口 = 设备.Activate(IAudioEndpointVolume._iid_, CLSCTX_ALL, None)
    音量控制 = cast(接口, POINTER(IAudioEndpointVolume))
    return 音量控制.GetMasterVolumeLevelScalar()

def 监控音量():
    最大音量 = 1.0  # 最大音量级别(1.0是100%)
    while True:
        当前音量 = 获取音量()
        if 当前音量 < 最大音量:
            设置音量(最大音量)
        time.sleep(1)  # 每秒检查一次

def 以管理员权限运行():
    if not windll.shell32.IsUserAnAdmin():
        # 重新启动脚本并请求管理员权限
        windll.shell32.ShellExecuteW(None, "runas", sys.executable, __file__, None, 1)
        sys.exit()

if __name__ == "__main__":
    以管理员权限运行()
    设置音量(1.0)  # 将初始音量设置为最大值
    监控音量()  # 开始监控音量