Electron 控制屏幕亮度

CMD控制屏幕亮度

一开始用brightness,dev下可用,打包后执行报错,找了很多文章都没办法解决。后来想到执行CMD命令去设置( 如何在 Windows 中使用命令行调整屏幕亮度 )。测试打包后正常,无需管理员权限。

  1. 引入exec

    复制代码
    const { exec } = require('child_process')
  2. 获取屏幕亮度

    js 复制代码
    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())
          }
        })
      })
    }
  3. 设置屏幕亮度(0~100)

    js 复制代码
    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()
        })
      })
    }
相关推荐
四眼肥鱼13 分钟前
全网最全的 qiankun 基于 react18+(主应用)、vue3.4+(微应用)实现页签缓存,页面缓存
前端·javascript
dorisrv15 分钟前
优雅地处理前端错误边界
前端
狗哥哥18 分钟前
Pinia Store 平滑迁移:用代理模式实现零风险重构
前端·架构
老前端的功夫27 分钟前
前端水印技术深度解析:从基础实现到防破解方案
开发语言·前端·javascript·前端框架
霍格沃兹测试学院-小舟畅学29 分钟前
性能测试入门:使用 Playwright 测量关键 Web 性能指标
开发语言·前端·php
tangbin58308532 分钟前
iOS Swift 工具类:数据转换工具 ParseDataTool
前端
潜水豆34 分钟前
AI 时代的前端究竟还能积累什么
前端
www_stdio35 分钟前
手写 instanceof:深入理解 JavaScript 原型与继承机制
前端·javascript·html
boombb38 分钟前
国际化方案:多环境、多语言、动态加载的完整实践
前端
狗哥哥40 分钟前
我是如何治理一个混乱的 Pinia 状态管理系统的
前端·vue.js·架构