2013-07-24 32 views
1

我有一個Java應用程序。在啓動時啓動Java應用程序

該應用程序具有一個設置,用於決定應用程序是否在啓動時啓動。

目前,我通過在啓動項目文件夾中放置/刪除快捷方式來實現此目的。

但是,我想知道是否有更好的方法來處理這種行爲。

編輯

是的,這是Windows操作系統。對不起,以前沒有清除。

該應用程序具有用戶可以觸發操作的UI,並且該應用程序還在運行時定期在後臺運行幾個任務。

@Peter,我怎麼能改變註冊表與應用程序內的代碼?該方法是否與所有版本的Windows兼容?

+1

在我們在說什麼操作系統?視窗? – thatidiotguy

+0

@thatidiotguy - 一個好問題,雖然我認爲我們可以推斷出它是Windows,因爲他在Startup文件夾中使用了一個快捷方式。 – Jim

+1

如何將您的應用程序添加到註冊表開始? HKCU \ Software \ Microsoft \ Windows \ CurrentVersion \ Run \ Peter

回答

2

下面是它如何能夠從你的應用程序

static final String REG_ADD_CMD = "cmd /c reg add \"HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run\" /v \"{0}\" /d \"{1}\" /t REG_EXPAND_SZ"; 
private void exec(String[] args) throws Exception 
{ 
    if (args.length != 2) 
     throw new IllegalArgumentException("\n\nUsage: java SetEnv {key} {value}\n\n"); 

    String key = args[0]; 
    String value = args[1]; 

    String cmdLine = MessageFormat.format(REG_ADD_CMD, new Object[] { key, value }); 

    Runtime.getRuntime().exec(cmdLine); 
} 

內做一個小例子片斷我敢肯定,這將與所有版本的Windows工作因爲它們都使用相同的Startup \ Run註冊表項。

希望有幫助! :)

Credit

0

在Windows我已經使用開源Java Service Wrapper使我們作爲窗口服務,你可以設置在啓動時自動應用。

What you need to do is to download latest wrapper.exe and create wrapper.config file put all the configuration like Main class any VM arument other parameters in defined standards and create a window service by this exe

1

使用註冊表來在啓動時啓動程序,然後它會通過Runmsconfig commnd提供的列表中顯示。 使用此註冊表路徑

HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Run

相關問題