一个可以调节笔记本亮度的程序

在我这台笔记本上,当我把显示模式调为读显时发现右下角的亮度不能调了,就像这样

听说时nvidia显卡不适配的问题 咱也不知道呀

于是我就用java写了程序来调节,用了俩个多月,没啥问题的

打开就是这样拉动直接就可以调节

源码

复制代码
import javax.swing.*;
import javax.swing.event.ChangeEvent;
import javax.swing.event.ChangeListener;
import java.io.IOException;
import java.util.TreeSet;

public class LightControl {


        public static void main(String[] args) {

            //创建一个白板窗口
            JFrame frame = new JFrame("Brightness Control");

            //获得一个滑动干 并初始话滑动杠 最小0 最大100 初始值50
            JSlider brightnessSlider = new JSlider(0, 100, 50);

            //获得一个标签 初始表签
            JLabel brightnessLabel = new JLabel("Brightness: 50");

            //设置主键个空隙 下方显示的数字之间的间隙
            brightnessSlider.setMajorTickSpacing(10);

            //设置最小刻度间隔空隙
//            brightnessSlider.setMinorTickSpacing(5);

            //是否需要刻度标记
            brightnessSlider.setPaintTicks(false);

            //滑条下是否需要数字标记
            brightnessSlider.setPaintLabels(true);

            //获得滑块的值
            brightnessSlider.addChangeListener(new ChangeListener() {


                @Override

                public void stateChanged(ChangeEvent e) {

                    //获得滑块对应的值
                    int brightness = brightnessSlider.getValue();

                    //更改滑条下方显示的值
                    brightnessLabel.setText("Brightness: " + brightness);

                    // 在这里可以添加实际的亮度调节代码
                    RunToCmd(brightness);

                }


            });

            //面板
            JPanel panel = new JPanel();

            //为面板加入滑块
            panel.add(brightnessSlider);

            //为面板加入标签
            panel.add(brightnessLabel);

            //最终添加到面板中
            frame.add(panel);

            //面板初始大小
            frame.setSize(300, 200);

            //默认退出方式
            frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

            //窗口可见
            frame.setVisible(true);

            //窗口的初始位置
            frame.setLocation(1100,550);

        }

    private static void RunToCmd(int brightness) {
        String instruct = "WMIC /NAMESPACE:\\\\root\\wmi PATH WmiMonitorBrightnessMethods WHERE \"Active=TRUE\" CALL WmiSetBrightness Brightness="+ brightness+" Timeout=0";
//        System.out.println(instruct);
        //执行cmd命令
        try {
//            System.out.println(instruct);
            Runtime.getRuntime().exec(instruct);
        } catch (IOException io) {
            io.getLocalizedMessage();
        }
    }


}

创建个项目复制粘贴就好了

不过要注意的是这个项目不能直接再桌面就运行,因为这个源码你还不能直接就运行到JVM虚拟机上,这里要想放在桌面直接运行

像这样的话有俩种方法

一是通过exe4j将他变成可执行程序,这个可以自己去搜下教程 我是用的就是用这个搞得

要注意这个可执行程序必须和你的jar包再一个目录下,不然跑不起,我踩过这坑

第二种 比较简单,因为我发现你把这个程序打成就jar包就可以直接运行了,而且你通过exe4j把他变成了可执行文件再执行时其实就是执行的时jar包,所以为何不直接就执行jar包呢,我试了下可以,也可以创建个快捷方式 到桌面照样正常使用

至于如何打jar包的话,去搜下教程把,他们说的比我好 hhh

相关推荐
Hello.Reader17 分钟前
Rust ⽣成 .wasm 的极致瘦⾝之道
开发语言·rust·wasm
稚肩17 分钟前
DHCP 握手原理
开发语言·网络协议
赵_|大人18 分钟前
Qt 自动无法加载数据库为空
开发语言·数据库·qt
白应穷奇21 分钟前
编写高性能数据处理代码 02
后端·python
用户119067080183221 分钟前
掌控python的属性,描述符钩子函数
python
阿赵3D25 分钟前
selenium自动化收集资料
python·selenium·测试工具·自动化
fbbqt27 分钟前
Go语言 逃 逸 分 析
开发语言·golang
AI手记叨叨31 分钟前
Python分块读取大型Excel文件
python·excel
无限大.44 分钟前
《计算机“十万个为什么”》之 面向对象 vs 面向过程:编程世界的积木与流水线
网络·人工智能·python