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()
        })
      })
    }
相关推荐
fruge1 天前
React 2025 完全指南:核心原理、实战技巧与性能优化
javascript·react.js·性能优化
速易达网络1 天前
Bootstrap 5 响应式网站首页模板
前端·bootstrap·html
etsuyou1 天前
js前端this指向规则
开发语言·前端·javascript
lichong9511 天前
Android studio 修改包名
android·java·前端·ide·android studio·大前端·大前端++
cai_huaer1 天前
BugKu Web渗透之 cookiesWEB
前端·web安全
lichong9511 天前
Git 检出到HEAD 再修改提交commit 会消失解决方案
java·前端·git·python·github·大前端·大前端++
友友马1 天前
『 QT 』QT控件属性全解析 (一)
开发语言·前端·qt
不想上班只想要钱1 天前
vue3+vite创建的项目,运行后没有 Network地址
前端·javascript·vue.js
流***陌1 天前
手办盲盒抽赏小程序前端功能设计:兼顾收藏需求与抽赏乐趣
前端·小程序
岁月宁静1 天前
在富文本编辑器中封装实用的 AI 写作助手功能
前端·vue.js·人工智能