CMD控制屏幕亮度
一开始用brightness,dev下可用,打包后执行报错,找了很多文章都没办法解决。后来想到执行CMD命令去设置( 如何在 Windows 中使用命令行调整屏幕亮度 )。测试打包后正常,无需管理员权限。
-
引入exec
const { exec } = require('child_process')
-
获取屏幕亮度
function getScreenBrightness() { return new Promise<number>((resolve,reject) => { exec('powershell.exe "(Get-WmiObject -Namespace root\\WMI -Class WmiMonitorBrightness).CurrentBrightness"', (error: Error | null, stdout: any) => { if (error) { console.log('get screen brightness error') reject(0) } else { resolve(stdout.trim()) } }) }) }
-
设置屏幕亮度(0~100)
function setScreenBrightness(brightness: number): Promise<void> { return new Promise((resolve) => { const command = `WMIC /NAMESPACE:\\\\root\\wmi PATH WmiMonitorBrightnessMethods WHERE "Active=TRUE" CALL WmiSetBrightness Brightness=${brightness} Timeout=0` exec(command, (error: Error | null) => { if (error) { console.error(`Error: ${error.message}`) } resolve() }) }) }