【问题标题】:How to code a jButton to turn the laptop or device to battery saver mode如何编写 jButton 以将笔记本电脑或设备切换到省电模式
【发布时间】:2020-10-27 09:01:26
【问题描述】:

我没有尝试过任何编码,因为我没有经验。

但是对于我当前正在制作的应用程序(用于分配),我想让用户在倒计时结束时打开省电模式,(如果用户之前选择了“休息时打开省电模式”复选框) 省电模式将由软件自动启用。 (操作系统 - Windows 10)。

【问题讨论】:

  • 这样做需要编程语言深入操作系统的内部。 Java 不是那种语言,因为它采用“更高级别”的方法,试图在所有机器上工作。顺便说一句,“我没有经验。..(作业)”优秀讲师/老师会意识到这不是 Java 的工作,所以我猜你'正在尝试在分配的任务之外执行此操作。只是.. 不要。如果分配的任务的代码写得很好并且有据可查,那么你的时间会更好(并且老师也会留下更深刻的印象)。为您自己的应用保存这些额外内容。
  • 命令行类似于powercfg.exe /setactive ...。使用 ProcessBuilder,您可以执行这样的命令行。 (1) 找到确切的命令行工作。 (2) 在Java 中使用ProcessBuilder 执行这样的命令。或者您可以先尝试使用 ProcessBuilder 启动 Notepad.exe 来分开。
  • 你的操作系统是什么?如果是android,请使用标签。
  • @NomadMaker 请阅读帖子 :) OP 确实告诉了操作系统是什么 ;)

标签: java windows swing jbutton jcheckbox


【解决方案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”更改为其他内容。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2010-09-28
    • 2014-05-11
    • 2017-11-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多