java操作註冊表實現開機啓動


        用java程序如何實現開機啓動呢?因爲java並沒有像C一樣有哪些已經寫好了的API給你自由調用,那麼我們怎麼樣才能用java來實現註冊表的修改呢?我想到了兩種方案:

        方案一、我們可以調用C的方法,這裏就用到了JNI(java native interface)。

        方案二、可以用cmd命令行,在cmd命令行裏面有一個reg命令,百度一下reg命令或在cmd裏面輸入“reg /? ”你就可以詳細的知道該怎麼做了。

        JNI這裏就不說了,因爲這個以前我寫過。主要說下第二種方案。

        首先要明白在java裏面怎麼運行一個cmd命令行,這個查下API文檔即可有這麼一個靜態方法java.lang.Runtime,Runtime調用方法Runtime.getRuntime().exec(String ags)。

        然後我們來討論下reg命令,修改註冊表命令“reg add regkey /v appName /t re_sz /d path /f ”其中regkey是註冊表的某一個節點(例如:HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run),appName是註冊項名字,reg_sz註冊項數據類型,path應用程序路徑。

public void changeStart(boolean isStartAtLogon) throws IOException{  
	String regKey = "HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run";  
	String AppName = "MyApplication";
	String Path = "\"C:\\MyApplication.exe\"";
	Runtime.getRuntime().exec( "reg " + ( isStartAtLogon ? "add " : "delete " ) + regKey + " /v " + AppName + ( isStartAtLogon ? " /t reg_sz /d " + Path : " /f"));
} 


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章