哇塞,嘿嘿,各種變態的需求啊,這回整個開機自動啟動並執行程式。不要說我壞啊,嘿嘿,C#也可以實現開始自動運行滴,開機了,哇塞,整個藍屏,要不整個黑屏,一直黑著,弄不好,那個哥們還要每個新顯示器去。哇哈哈。此執行個體謹獻給,好yin,嘿嘿。
這個執行個體的名字叫做開機自動運行軟體,用我們的C#來實現,這個執行個體沒有什麼難度,只是為我們的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(); } }}
當然,我只是簡單的實現了一下,嘿嘿,你呢,發壞可以自己這麼實現
每3秒,快顯視窗告訴你,被惡搞!(該視窗不可關閉);
無法使用 Ctrl+alt+del 開啟工作管理員(意思,你運行了,除非重啟,要不你就別想關閉!)
.....................喝黑,我還是不要說了。防止管理禁我言啊。
奉上最後的
最後註明一下,操作註冊表需要的是管理員的許可權。所以請確定,程式是在操作員的許可權下運行。
喜歡交流,喜歡編程,這就是俺 KingDZ 一個會編程的男生。哈哈哈
代碼下載
SetStart.rar