讓軟件開機自動運行或者設置自動關機,大部分軟件都有這種功能。如何實現呢,其實很簡單,開機運行,只需要設置注冊表就可以了,關機則調用CMD命令:shutdown -s -t,如下:
開機自動運行:
/// <summary>
/// 設置開機運行
/// </summary>
public void AutoRun()
{
RegistryKey runItem =
Registry.CurrentUser.OpenSubKey(@"Software\Microsoft\Windows\CurrentVersion\Run", true);
if (runItem == null)
{
run.SetValue("exe的名字","exe的路徑");
}
}
/// <summary>
/// 取消開機運行
/// </summary>
public void DeleteAutoRun()
{
RegistryKey runItem =
Registry.CurrentUser.OpenSubKey(@"Software\Microsoft\Windows\CurrentVersion\Run", true);
if (runItem != null)
{
runItem.DeleteSubKey("exe的名字");
}
}
/// <summary>
/// 設置開機運行
/// </summary>
public void AutoRun()
{
RegistryKey runItem =
Registry.CurrentUser.OpenSubKey(@"Software\Microsoft\Windows\CurrentVersion\Run", true);
if (runItem == null)
{
run.SetValue("exe的名字","exe的路徑");
}
}
/// <summary>
/// 取消開機運行
/// </summary>
public void DeleteAutoRun()
{
RegistryKey runItem =
Registry.CurrentUser.OpenSubKey(@"Software\Microsoft\Windows\CurrentVersion\Run", true);
if (runItem != null)
{
runItem.DeleteSubKey("exe的名字");
}
}
設置關機:www.2cto.com
public static string ExecuteCmd(string command)
{
string output = ""; //輸出字符串
if (command != null && !command.Equals(""))
{
Process process = new Process();//創建進程對象
ProcessStartInfo startInfo = new ProcessStartInfo();
startInfo.FileName = "cmd.exe";//設定需要執行的命令
startInfo.Arguments = "/C " + command;//“/C”表示執行完命令後馬上退出
startInfo.UseShellExecute = false;//不使用系統外殼程序啟動
startInfo.RedirectStandardInput = false;//不重定向輸入
startInfo.RedirectStandardOutput = true; //重定向輸出
startInfo.CreateNoWindow = true;//不創建窗口
process.StartInfo = startInfo;
process.Start();
}
}
public static string ExecuteCmd(string command)
{
string output = ""; //輸出字符串
if (command != null && !command.Equals(""))
{
Process process = new Process();//創建進程對象
ProcessStartInfo startInfo = new ProcessStartInfo();
startInfo.FileName = "cmd.exe";//設定需要執行的命令
startInfo.Arguments = "/C " + command;//“/C”表示執行完命令後馬上退出
startInfo.UseShellExecute = false;//不使用系統外殼程序啟動
startInfo.RedirectStandardInput = false;//不重定向輸入
startInfo.RedirectStandardOutput = true; //重定向輸出
startInfo.CreateNoWindow = true;//不創建窗口
process.StartInfo = startInfo;
process.Start();
}
}
調用:
ExecuteCmd("shutdown -s -t");
ExecuteCmd("shutdown -s -t");
摘自 白楊樹