我想获取屏幕亮度,并使用tkinter刻度自行设置亮度。我需要PowerShell命令来获取屏幕亮度并进行设置。我已经知道该怎么做,但是我想线程会导入PowerShell(在cmd中启动它,需要一段时间),然后运行命令并关闭PowerShell,然后再次打开它。这种方法很慢,我可以从TaskManager中看到该进程占用大约30%的CPU性能,而不是通常占用的几个百分点。
这就是我获取亮度并设置亮度的方式
import os
while True:
os.system("powershell Get-Ciminstance -Namespace root/WMI -ClassName WmiMonitorBrightness >brightness.txt")
brightness_file = open("brightness.txt", "r")
#This is the brightness value 0-100 as string
brightness_now = brightness_file.read().split()[5]
brightness_file.close()
#Some code that isn't relative to this problem
#The wanted birghtness is called now brightness_value
#Setting the brightness
os.system("powershell (Get-WmiObject -Namespace root/WMI -Class WmiMonitorBrightnessMethods).WmiSetBrightness(1,"+str(brightness_value)+")")
这可以通过其他方式起作用,但这不是一种有效的方式。我能以某种方式将PowerShell导入到一个线程中,这样它再也不需要打开PowerShell了吗?
我尝试过这样的事情 导入操作系统
#Import powershell
os.system("powershell")
#Get the brightness
os.system("Get-Ciminstance -Namespace root/WMI -ClassName WmiMonitorBrightness >brightness.txt")
但是它只是在cmd中打开PowerShell,而不会继续执行代码。