在我这台笔记本上,当我把显示模式调为读显时发现右下角的亮度不能调了,就像这样
听说时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