如何编写 jButton 以将笔记本电脑或设备切换到省电模式
Posted
技术标签:
【中文标题】如何编写 jButton 以将笔记本电脑或设备切换到省电模式【英文标题】:How to code a jButton to turn the laptop or device to battery saver mode 【发布时间】:2020-10-27 09:01:26 【问题描述】:我没有尝试过任何编码,因为我没有经验。
但是对于我当前正在制作的应用程序(用于分配),我想让用户在倒计时结束时打开省电模式,(如果用户之前选择了“休息时打开省电模式”复选框) 省电模式将由软件自动启用。 (操作系统 - Windows 10)。
【问题讨论】:
这样做需要编程语言深入操作系统的内部。 Java 不是那种语言,因为它采用“更高级别”的方法,试图在所有机器上工作。顺便说一句,“我没有经验。..(作业)”优秀讲师/老师会意识到这不是 Java 的工作,所以我猜你'正在尝试在分配的任务之外执行此操作。只是.. 不要。如果分配的任务的代码写得很好并且有据可查,那么你的时间会更好(并且老师也会留下更深刻的印象)。为您自己的应用保存这些额外内容。 命令行类似于powercfg.exe /setactive ...
。使用 ProcessBuilder,您可以执行这样的命令行。 (1) 找到确切的命令行工作。 (2) 在Java 中使用ProcessBuilder 执行这样的命令。或者您可以先尝试使用 ProcessBuilder 启动 Notepad.exe 来分开。
你的操作系统是什么?如果是android,请使用标签。
@NomadMaker 请阅读帖子 :) OP 确实告诉了操作系统是什么 ;)
【参考方案1】:
您可以通过ProcessBuilder 执行cmd 命令来实现这样的操作。 我整理了一个适合我的程序:
public static void main(String[] args) throws Exception
JPanel panel = new JPanel();
JFrame frame = new JFrame();
frame.setSize(200, 200);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.add(panel);
JButton button = new JButton("Standby");
panel.add(button);
frame.setVisible(true);
button.addActionListener(new ActionListener()
@Override
public void actionPerformed(ActionEvent e)
ProcessBuilder builder = new ProcessBuilder("cmd.exe", "/c", "rundll32.exe powrprof.dll,SetSuspendState");
builder.redirectErrorStream(true);
try
builder.start();
catch (IOException e1)
e1.printStackTrace();
);
也许您需要将命令“rundll32.exe powrprof.dll,SetSuspendState”更改为其他内容。
【讨论】:
以上是关于如何编写 jButton 以将笔记本电脑或设备切换到省电模式的主要内容,如果未能解决你的问题,请参考以下文章