事列一:
using Microsoft.Win32;
public static bool SetAutoRun(string keyName,string filePath)
{
try
{
RegistryKey runKey=Registry.LocalMachine.OpenSubKey(@"/SOFTWARE/Microsoft/Windows/CurrentVersion/Run",true);
runKey.SetValue(keyName,filePath);
runKey.Close();
}
catch
{
return false;
}
return true;
}
test: SetAutoRun("myexe","c://text.exe");
另外也可以写成服务,不过服务的话一般是在后台执行的,没有程序界面。
事列二:
如果想你写的程序随系统开机一起启动的话,那么你可以照下面这个方法来做。
RunWhenStart(false,Application.ProductName,Application.StartupPath+@/"//MUS.exe/");
///summary
///开机启动项
summary
///paramname=/"Started/"是否启动/param
///paramname=/"name/"启动值的名称/param
///paramname=/"path/"启动程序的路径/param
publicstaticvoidRunWhenStart(boolStarted,stringname,stringpath)
{
RegistryKeyHKLM=Registry.LocalMachine;
RegistryKeyRun=HKLM.CreateSubKey(@/"SOFTWARE//Microsoft//Windows//CurrentVersion//Run/");
if(Started==true)
{
try
{
Run.SetValue(name,path);
HKLM.Close();
}
catch(ExceptionErr)
{
MessageBox.Show(Err.Message.ToString(),/"MUS/",MessageBoxButtons.OK,MessageBoxIcon.Error);
}
} [Page]
else
{
try
{
Run.DeleteValue(name);
HKLM.Close();
}
catch(Exception)
{
//
}
}
}