最新消息:XAMPP默认安装之后是很不安全的,我们只需要点击左方菜单的 "安全"选项,按照向导操作即可完成安全设置。

C# 開機啟動-新增機碼

XAMPP下载 admin 1032浏览 0评论
 開機啟動方法有3種
1.在OS上操作:在開始功能表的 “啟動” 加入程式的捷徑/放到啟動資料夾,開啟資料夾cmd:shell:startup
2.用C#寫入機碼
3.用 Windows Service 專案來開發,這樣就可以直接在設定服務時,開機啟動

我們這裡要做,用C#寫入機碼,讓AP於開機啟動
新增一個checkbox chkAutoOpen
新增一個button BtnSave
新增一個textbox txLog

勾選chkAutoOpen,按下按鈕,開始新增機碼
不勾選chkAutoOpen,按下按鈕,開始刪除機碼
Form打開時,chkAutoOpen會依目前機碼狀態顯示勾選或不勾選

這段是
新增機碼/檢查機碼是否存在/刪除機碼 的code

class addToRegForRun
{

private static RegistryKey getRunKey()
{
RegistryKey rk1 = Registry.LocalMachine;
RegistryKey rk2 = rk1.CreateSubKey(“SOFTWARE”);
RegistryKey rk3 = rk2.CreateSubKey(“Microsoft”);
RegistryKey rk4 = rk3.CreateSubKey(“Windows”);
RegistryKey rk5 = rk4.CreateSubKey(“CurrentVersion”);
RegistryKey rk6 = rk5.CreateSubKey(“Run”);
return rk6;
}
public bool chk(string key, System.Windows.Forms.TextBox txLog)
{
bool result = true;
//2. 註冊到registry file中讓開機自動啟動
//using Microsoft.Win32;
RegistryKey rk6 = getRunKey();
object ret = rk6.GetValue(key, “找不到”);
txLog.Text += key + ”  : ” + ret.ToString() + Environment.NewLine;
rk6.Close();
if (ret.ToString() == “找不到”)
result = false;
return result;
}

public void add(string key, string src_file)
{
//2. 註冊到registry file中讓開機自動啟動
RegistryKey rk6 = getRunKey();
rk6.SetValue(key, src_file);
rk6.Close();

}
public void remove(string key)
{
//2. 註冊到registry file中讓開機自動啟動
//using Microsoft.Win32;
RegistryKey rk6 = getRunKey();
object ret = rk6.GetValue(key, “找不到”);
if (ret.ToString() != “找不到”)
rk6.DeleteValue(key);
rk6.Close();
}
}
載入前,先判斷是否已存在機碼,如果已存在,check =true

private void Form2_Load(object sender, EventArgs e)
{
addToRegForRun reg = new addToRegForRun();
string key = “RemoteCallC”;
chkAutoOpen.Checked = reg.chk(key,txLog);
}
執行按鈕

addToRegForRun reg = new addToRegForRun();
string key = “RemoteCallC”;
string value =   System.Environment.CommandLine.Replace(“\””, “”);  //會取得程式的位址加雙引號,所以要移掉
if (chkAutoOpen.Checked)
{
reg.add(key, value);
reg.chk(key,txLog);
}
else
reg.remove(key);
MessageBox.Show(“end”);
測試
新增機碼後,用chkreg檢查 & 可到msconfig中查看,是否已新增
刪除機碼後,用chkreg檢查 & 可到msconfig中查看,是否已刪除

待觀察
有人說,可能會被防毒軟體的主動防禦擋到 須注意

转载请注明:XAMPP中文组官网 » C# 開機啟動-新增機碼

您必须 登录 才能发表评论!