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()
        })
      })
    }
相关推荐
颜酱34 分钟前
图结构完全解析:从基础概念到遍历实现
javascript·后端·算法
失忆爆表症1 小时前
05_UI 组件库集成指南:Shadcn/ui + Tailwind CSS v4
前端·css·ui
小迷糊的学习记录1 小时前
Vuex 与 pinia
前端·javascript·vue.js
发现一只大呆瓜1 小时前
前端性能优化:图片懒加载的三种手写方案
前端·javascript·面试
不爱吃糖的程序媛2 小时前
Flutter 与 OpenHarmony 通信:Flutter Channel 使用指南
前端·javascript·flutter
利刃大大2 小时前
【Vue】Element-Plus快速入门 && Form && Card && Table && Tree && Dialog && Menu
前端·javascript·vue.js·element-plus
NEXT062 小时前
AI 应用工程化实战:使用 LangChain.js 编排 DeepSeek 复杂工作流
前端·javascript·langchain
念风零壹2 小时前
AI 时代的前端技术:从系统编程到 JavaScript/TypeScript
前端·ai
光影少年3 小时前
react的hooks防抖和节流是怎样做的
前端·javascript·react.js
小毛驴8503 小时前
Vue 路由示例
前端·javascript·vue.js