具体代码是不会给了,因为是在项目中用的,涉及到保密,而且也不会直接就能应用到你的程序中。说一下思路吧,希望对你有帮助:
1)可以把程序做成Windows的服务,然后可以开机的时候,做为Windows服务自动启动。这个可以使用wrapper第三方类库,有开源的版本。项目网站:
http://wrapper.tanukisoftware.org/doc/english/download.jsp,可参考的文章:
http://hugebait.javaeye.com/blog/47262,其实上网查找wrapper,有很多文章,配置的时候,主要是要注意路径的问题。
2)使用jregistrykey直接操作注册表,这也是一个第三方类库,提供了直接操作注册表的功能
http://sourceforge.net/projects/jregistrykey/,上网查也有很多资料。
3)自己写DLL,通过JNI调用。其实上面两个类库,都是通过JNI方式提供的。
第一种,一般用作服务器程序,托盘方式或者无界面的,你的程序可能比较合适第二种方式。需要操作'HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Run'
简单例子
//注册表位置
String regdir = "\\Software\\Microsoft\\Windows\\CurrentVersion\\Run";
//名字
String rname="myRun";
//执行程序,可以做成批处理,或者转成exe,总之能够运行你程序的路径
String rexe="c:\\run.bat";
RegistryKey r = new RegistryKey(RootKey.HKEY_LOCAL_MACHINE, regdir);
RegistryValue vlaue1=new RegistryValue(rname,ValueType.REG_SZ,rexe);
r.setValue(vlaue1);