Winform開機自動執行程式C#版開機自動運行,首先我們還是準備工作,當然是引入命名空間了。
using Microsoft.Win32;
using System.IO;然後我們開始,準備一下,我們這個執行個體的位置,得到運行目錄有兩種方法,
第一種,拼接
//獲得檔案的當前路徑
string dir = Directory.GetCurrentDirectory();
//擷取可執行檔的全部路徑
string exeDir = dir + @"\SetStart.exe";嘿嘿,當然也可以這麼做
string strName = Application.ExecutablePath;當然,下面我們要操作註冊表了,嘿嘿,這裡用360衛士大哥給咱們做個測試吧,防止我還要重啟電腦,哈哈 當然,你也可以俺下面的輸入 msconfig查看
嘿嘿。好了,我們得到我們的檔案了。
聲明一個可以使用註冊表的欄位。
RegistryKey reg = null;然後我們開啟註冊表
reg = Registry.LocalMachine.OpenSubKey("SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run", true);當然,如果沒有怎麼辦,廢話當然建立啊,
if (reg == null)
reg = Registry.LocalMachine.CreateSubKey(@"SOFTWARE\Microsoft\Windows\CurrentVersion\Run");好了,可以寫入註冊表的值了
if (isAutoRun)
{
reg.SetValue(name, fileName);
MessageBox.Show("開機可以黑屏了", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
}OK,完成,封裝一下就OK了。
public static void SetAutoRun(string fileName, bool isAutoRun)
{
RegistryKey reg = null;
try
{
if (!File.Exists(fileName))
{
throw new Exception("木有這個檔案,搞什麼搞");
}
string name = fileName.Substring(fileName.LastIndexOf(@"\") + 1);
reg = Registry.LocalMachine.OpenSubKey("SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run", true);
if (reg == null)
reg = Registry.LocalMachine.CreateSubKey(@"SOFTWARE\Microsoft\Windows\CurrentVersion\Run");
if (isAutoRun)
{
reg.SetValue(name, fileName);
MessageBox.Show("開機可以黑屏了", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
}
else
reg.SetValue(name, false);
}
catch (Exception ex)
{
throw new Exception(ex.ToString());
}
finally
{
if (reg != null)
{
reg.Close();
}
}
}當然,我只是簡單的實現了一下,嘿嘿,