• 使用Java窗口程序执行输入的任何cmd命令


    利用Java窗口程序来执行用输入的任何命令

    实现效果:
    Java桌面窗口,输入框、按钮,当输入框被输入命令的时候,点击按钮执行命令!

    实现代码

    package com.remote.remote.againNew;
    
    import javax.swing.*;
    import javax.swing.plaf.TextUI;
    import java.awt.event.ActionEvent;
    import java.awt.event.ActionListener;
    import java.awt.event.KeyEvent;
    import java.beans.PropertyChangeListener;
    import java.io.IOException;
    
    /**
     * @Author nan
     * @Date  2019-11-25
     * ::::注意::::实例化按钮的顺序要按照从大到小
     **/
    
    
    /*开始继承JFrame*/
    public class RemoteCommandExec extends JFrame {
    
    
        /*实例化窗口主模板*/
        static JFrame jframe =  new RemoteCommandExec();
        /*实例化Jpanel*/
        static JPanel jpanel = new JPanel();
        /*按钮实例*/
        static JButton button = new JButton();
        /*输入框实例*/
        static JTextField textField = new JTextField();
    
        /**
         * 设置主窗体属性
         */
        public RemoteCommandExec(){
            /*设置标题*/
            setTitle("孤水寒月");
            /*设置窗口宽高*/
            setSize(650,500);
            /*设置窗口大小和位置*/
            setBounds(700,300,700,300);
            /*设置可以退出*/
            setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
            //更改默认的icon图标
            ImageIcon icon=new ImageIcon("src/main/resources/img/starstar.jpg");
            setIconImage(icon.getImage());
            /*设置显示属性为可显示(用来控制主窗口是否显示)*/
            setVisible(true);
        }
    
        /*声明主函数*/
        public static void main(String args[]){
        <!--将Jpanel添加到Jfram里面-->
            jframe.add(jpanel);
            jpanel.add(button);
    
            //设置文本的输入长度
            textField.setColumns(30);
            //设置文本的水平对齐方式(居中)
            textField.setHorizontalAlignment(JTextField.CENTER);
            <!--将输入框添加到Japnel-->
            jpanel.add(textField);
            <!--设置按钮显示的文本-->
            button.setText("点我执行打开命令");
    
            //按钮单击事件监听
            button.addActionListener(new ActionListener()
            {
                public void actionPerformed(ActionEvent e)
                {
                    <!--按钮被单击的时候,获取输入框的值-->
                    String text = textField.getText();
                    <!--将获取到的值传递到执行函数里面-->
                    comExec(text);
                }
            });
    
        }
    
    
        /**
         * 窗口化命令执行
         */
        public static void comExec(String com){
                try{
                    <!--获取输入的命令并执行-->
                    Process pro = Runtime.getRuntime().exec(com); //添加要进行的命令,"cmd  /c calc"中calc代表要执行打开计算器,如何设置关机请自己查找cmd命令
                    /*cmd /c dir 是执行完dir命令后关闭命令窗口
                    cmd /k dir 是执行完dir命令后不关闭命令窗口
                    cmd /c start dir  会打开一个新窗口后执行dir命令,原窗口会关闭
                    cmd /k start dir  会打开一个新窗口后执行dir命令,原窗口不会关闭*/
                }catch(IOException exception){
                    System.out.println("命令执行异常是: "+exception);
                }
        }
    
    }
    
    

    窗口开启效果


    窗口开启效果

    命令执行效果

    taskmgr是开启任务管理器的命令

    命令执行效果

    接下来会继续更新有关窗口命令执行部分的文章,配合exe4j,可以将Java程序打包成Windows可执行的exe程序,可以实现自己写的窗口程序在任何windows平台上运行。
    有喜欢的小伙伴还多请多关注哟!

  • 相关阅读:
    14丨指令的本质是什么
    Nodejs的测试和测试驱动开发
    javascript的Mixins
    踏破铁鞋无觅处,从AsyncTask学Android线程池
    Android自定义视图四:定制onMeasure强制显示为方形
    Android自定义视图三:给自定义视图添加“流畅”的动画
    Android自定义视图二:如何绘制内容
    Android自定义视图一:扩展现有的视图,添加新的XML属性
    属性动画和Activity、Fragment过渡动画等
    RecyclerView怎么能没有ItemClickListener?加一个!
  • 原文地址:https://www.cnblogs.com/nanstar/p/11926665.html
Copyright © 2020-2023  润新知