Java小程式之Java實現快速電腦程式啟動
一、前言
平時我們啟動電腦桌面的應用程式一般是雙擊桌面的圖示;
想不同尋常,或者在其他不懂電腦的人面前裝一下逼,那麼你就往下看吧!
使用Windows鍵+R鍵開啟執行對話方塊
在對話方塊中輸入notepad,按下Enter鍵,一個新的記事本文件接打開了,是不是很炫酷啊!
在對話方塊中輸入mspaint,按下Enter鍵,Windows自帶的畫圖板就打開了!
同樣可以試下輸入calc和osk,可以開啟Windows自帶的計算器和螢幕虛擬鍵盤了!
也可以在輸入框中輸入你QQ中啟動路徑,來快速啟動QQ
QQ在我電腦中的路徑為:"C:\Program Files (x86)\Tencent\QQLite\Bin\QQScLauncher.exe"
(右擊QQ圖示,選擇屬性,開啟,在目標中檢視QQ安裝路徑,copy路徑)
在輸入框中輸入這串路徑就能快速啟動QQ應用程式了。
在對話方塊中輸入cmd進入MS-DOS作業系統
接下來,你可以百度一下MS-DOS命令,很多操作完全可以通過輸入命令來完成,比如新建一個資料夾
可以通過 md zhou 就可以在當前路徑下新建一個名為zhou的資料夾
通過 rd zhou 刪除該資料夾
通過cd操作可以進入不同的資料夾裡面 dir可以列出當前目錄下的所有檔案資訊
這裡就不一一演示了,大家自己去百度和自學吧!這樣,就可以裝逼了!哈哈。。。。。。
言歸正傳,我們現在寫一個Java小程式來實現同樣的功能!
讓我們來看看原始碼:
package com.huaxin.demo; import java.awt.FlowLayout; import java.awt.Graphics; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.io.IOException; import javax.swing.ImageIcon; import javax.swing.JButton; import javax.swing.JFrame; import javax.swing.JOptionPane; import javax.swing.JPanel; import javax.swing.JTextField; public class Demo { public static void main(String[] args) { JFrame jf = new JFrame(); //設定窗體屬性 jf.setSize(400,200); jf.setTitle("電腦程式快速啟動"); jf.setLocationRelativeTo(null); jf.setDefaultCloseOperation(3); //給窗體設定背景圖片 JPanel panel = new JPanel(){ protected void paintComponent(Graphics g) { super.paintComponent(g); ImageIcon bg = new ImageIcon("image/1.jpg"); g.drawImage(bg.getImage(), 0, 0, null); } }; panel.setLayout(null);//設定面板為絕對佈局 jf.add(panel); //新增按鈕 JButton jb1 = new JButton("準備關機"); jb1.setBounds(60, 20, 100, 30); panel.add(jb1); JButton jb2 = new JButton("開啟QQ"); jb2.setBounds(260, 20, 100, 30); panel.add(jb2); JTextField jtf = new JTextField(20); jtf.setBounds(20, 70, 220, 30); panel.add(jtf); JButton jb3 = new JButton("啟動程式"); jb3.setBounds(260, 70, 90, 30); panel.add(jb3); JButton jb4 = new JButton("退出應用"); jb4.setBounds(160, 120, 100, 30); panel.add(jb4); jf.setVisible(true); //按鈕的監聽器 ActionListener action = new ActionListener(){ public void actionPerformed(ActionEvent e) { //拿到按鈕上的文字 String text =e.getActionCommand(); if("準備關機".equals(text)){ Runtime runtime = Runtime.getRuntime(); try { runtime.exec("shutdown -s -t 1000"); } catch (IOException e1) { e1.printStackTrace(); } jb1.setText("取消關機"); }else if("開啟QQ".equals(text)){ Runtime runtime = Runtime.getRuntime(); try { runtime.exec("C:/Program Files (x86)/Tencent/QQLite/Bin/QQScLauncher.exe"); } catch (IOException e1) { e1.printStackTrace(); } }else if("啟動程式".equals(text)){ String message =jtf.getText(); Runtime runtime = Runtime.getRuntime(); try { runtime.exec(message); } catch (IOException e1) { String mess=e1.getMessage(); JOptionPane.showMessageDialog(null, mess); } jtf.setText(""); } else if("取消關機".equals(text)){ Runtime runtime = Runtime.getRuntime(); try { runtime.exec("shutdown -a"); jb1.setText("取消關機"); } catch (IOException e1) { e1.printStackTrace(); } jb1.setText("準備關機"); }else if("退出應用".equals(text)){ int value=JOptionPane.showConfirmDialog(null, "確定退出程式?"); if(value==0){ System.exit(0); } } } }; //給三個按鈕新增監聽器 jb1.addActionListener(action); jb2.addActionListener(action); jb3.addActionListener(action); jb4.addActionListener(action); } }
程式執行效果:
點選相應按鈕會實現相應的功能,在輸入框中同樣可以輸入notepad,mspaint等命令(可能不能識別中文,所以路徑出現中文不會執行)
這樣一個用Java語言實現電腦程式快速啟動應用的小Java程式就實現了。
相關推薦
Java小程式之Java實現快速電腦程式啟動
一、前言 平時我們啟動電腦桌面的應用程式一般是雙擊桌面的圖示; 想不同尋常,或者在其他不懂電腦的人面前裝一下逼,那麼你就往下看吧! 使用Windows鍵+R鍵開啟執行對話方塊 在對
Java小實驗之數據轉換
n) ann + - close pri oid image int() 數據 看到有人問如圖的程序,就去寫了幾行代碼,順便復習一下條件語句和ASCII碼 1 import java.util.Scanner; 2 public class test1
java 小工具之--zip包解壓,刪除目錄及文件、
str 備份 odin .get flag source input director 使用 import org.apache.tools.ant.BuildException;import org.apache.tools.ant.Project;import org
java動態代理之CGLIB實現
ssl return 其他 ase ger pac 父類 linked nic 動態代理(CGlib 與連接池的案例) Cglib代理: 針對類來實現代理,對指定目標 產生一個子類 通過方法攔截技術攔截所有父類方法的調用。 我們要使用cglib代理必須引入 cglib的j
java單元測試之如何實現非同步介面的測試案例
測試是軟體釋出的重要環節,單元測試在實際開發中是一種常用的測試方法,java單元測試主要用junit,最新是junit5,本人開發一般用junit4。因為單元測試能夠在軟體模組組合之前儘快發現問題,所以實際開發中投入產出比很高。實際使用難免會遇到非同步操作的介面測試,最常用的情景是別人家的SD
java高併發之hook例項(防止重複啟動程式)
package com.test.testThread; import java.io.File; import java.io.IOException; import java.nio.file.Path; import java.nio.file.Paths; import java.util
java資料結構之手動實現單鏈表
package com.example.demo; // 1、定義要儲存物件的類: class Phone {// 此類提供要儲存的資料 private String brand; private double price; public Phon
Java動態代理之JDK實現和CGlib實現
原文地址:http://www.cnblogs.com/ygj0930/p/6542259.html 一:代理模式(靜態代理) &nbs
Java學習篇之如何實現將日期加一天
主要是通過Calendar來完成 package org.tarena.test; import java.text.SimpleDateFormat; import java.util.Calendar; import java.util.Date; public c
【轉載】Java動態代理之JDK實現和CGlib實現(簡單易懂)
原文地址:http://www.cnblogs.com/ygj0930/p/6542259.html 一:代理模式(靜態代理) 代理模式是常用設計模式的一種,我們在軟體設計時常用的代理一般是指靜態代理,也就是在程式碼中顯式指定的
(八) RabbitMQ實戰教程(面向Java開發人員)之RabbitMQ實現非同步RPC
RabbitMQ實現非同步RPC RabbitMQ Java Client 服務端步驟: 1.服務端監聽一個佇列,監聽客戶端傳送過來的訊息 2.收到訊息之後呼叫RPC服務得到呼叫結果 3.從訊息屬性中獲取reply_to,correlation_i
Java小遊戲之小迷宮遊戲
遊戲規則 按照位置為0的路線移動,上下左右方向鍵依次為 8、2、4、6 遊戲編碼 編碼思路: 定義一個二維陣列,七個一維陣列,每個一維陣列七個元素,並且按照遊戲規則設定0,1,初始值位置列印陣列,
Java小遊戲之鬥地主遊戲例項Map集合
Map的特點是什麼? 1、Map物件是一個雙列的容器 2、兩列分別對應key和value,二者一一對應,是對映關係 3、Map中的資料以鍵值對的形式儲存 4、鍵值是唯一的,不能重複的 HashSet()和HashMap()之間的關係? HashSet()底層是HashMap
Java小題目之兩個執行緒順序列印A、B
1、問題描述 使用Java多執行緒方式來實現迴圈列印A、B,並保證不亂序。 2、解決方案 java在編寫多執行緒程式時,為了保證執行緒安全,需要對資料同步,經常用到兩種同步方式就是Synchronized和重入鎖ReentrantLock。 利用syn
Java動態代理之JDK實現和CGlib實現(簡單易懂)
原文地址:http://www.cnblogs.com/ygj0930/p/6542259.html 一:代理模式(靜態代理) 代理模式是常用設計模式的一種,我們在軟體設計時常用的代理一般是指靜態代理,也就是在程式碼中顯式指定的代理。
Java併發程式設計之結構化併發應用程式
任務執行 有三種任務執行的方式 1.序列地執行任務,在任務執行策略裡,最簡單的就是在單個執行緒裡面序列地執行各項任務,但是這種策略理論上是正確的,在實際的生產環境裡的執行性非常的糟糕,因為它每次只能執行一個請求。主執行緒在執行的不同操作之間不斷地交替執行,而當單執
你不知道的Java小知識——動態陣列實現(ArrayList原理)
你不知道的JAVA小知識——動態陣列實現(ArrayList原理) 什麼是陣列 同類資料元素的集合,在計算機中以連續的地址儲存,編譯時確定長度,無法改變。 什麼是動態陣列 資料結構中順序表的物理實現,同類資料元素的集合,在計算機中以連續的地址儲
Java小題目之heap和stack的區別
heap和stack的區別 棧(stack)與堆(heap)都是Java用來在Ram中存放資料的地方。Java自動管理棧和堆,程式設計師不能直接地設定棧或堆。 每個應用程式執行時,都有屬於自己的一
好程式設計師Java學習路線之Java中的物件流和序列化
好程式設計師Java學習路線之Java中的物件流和序列化,最近,在講流的使用,其中物件流的作用其實就是將自定義類的物件與流之間相互
Java單元測試之JUnit 5快速上手
前言 單元測試是軟體開發中必不可少的一環,但是在平常開發中往往因為專案週期緊,工作量大而被選擇忽略,這樣往往導致軟體問題層出不窮。線上出現的不少問題其實在有單元測試的情況下就可以及時發現和處理,因此培養自己在日常開發中寫單元測試的能力是很有必要的。無論是對自己的編碼能力的提高,還是專案質量的提升,都是大有好處