这是一个Python脚本,当特定应用程序处于后台时将其静音,并在其处于前台时取消静音。

from pycaw.pycaw import AudioUtilities

import win32gui

import win32process

import time

target_app_class = "CHANGE_THIS"

def find_process_id():

hwnd = win32gui.FindWindow(target_app_class, None)

if hwnd != 0:

_, process_id = win32process.GetWindowThreadProcessId(hwnd)

return process_id

return None

def app_is_in_foreground():

try:

act_name = win32gui.GetClassName(win32gui.GetForegroundWindow())

except win32gui.error:

act_name = ""

return act_name == target_app_class

def change_app_mute(process_id, mute=1):

sessions = AudioUtilities.GetAllSessions()

for session in sessions:

if session.Process and session.Process.pid == process_id:

session.SimpleAudioVolume.SetMute(mute, None)

while True:

process_id = find_process_id()

if process_id:

if app_is_in_foreground():

change_app_mute(process_id, 0)

else:

change_app_mute(process_id)

time.sleep(1)

# with open("log.txt", "a") as file:

# file.write(win32gui.GetClassName(win32gui.GetForegroundWindow()) + "\n")

记得先安装 pycaw pywin32,可以使用 pip install pycaw pywin32 命令。

在 Windows 11 上测试过 Python 3.10.6 版本。

将 CHANGE_THIS 替换为应用程序的类名。

要找到该名称,请取消注释最后两行代码,运行脚本,将应用程序置于前台并停止脚本。你将在 log.txt 中找到该名称(以及其他应用程序)。

Copyright © 2088 世界杯乒乓球赛_2014世界杯十佳球 - mz286.com All Rights Reserved.
友情链接