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()
        })
      })
    }
相关推荐
自由与自然6 分钟前
栅格布局常用用法
开发语言·前端·javascript
Violet_YSWY14 分钟前
讲一下ruoyi-vue3的前端项目目录结构
前端·javascript·vue.js
这是你的玩具车吗15 分钟前
转型成为AI研发工程师之路
前端·ai编程
Drift_Dream17 分钟前
在Vue样式中使用JavaScript 变量(CSS 变量注入)
前端
C_心欲无痕17 分钟前
vue3 - toRaw获取响应式对象(如由reactive创建的)的原始对象
前端·javascript·vue.js
PlankBevelen17 分钟前
手搓实现简易版 Vue2 响应式系统
前端
LoveDreaMing19 分钟前
MCP入门梳理
前端·typescript·mcp
小林攻城狮20 分钟前
一个基于 canvas 的 pdf 图片分页切割方法
前端·javascript
老华带你飞22 分钟前
学生宿舍管理|基于java + vue学生宿舍管理系统(源码+数据库+文档)
java·开发语言·前端·数据库·vue.js·spring boot·后端
一天前23 分钟前
一个功能强大的 React Native 拖拽排序组件库,支持单列和多列布局,提供流畅的拖拽体验和自动滚动功能
前端