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
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)
监控音量()