程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> C# >> C#入門知識 >> 每日一個C#小實例之---C#開機自動執行程序

每日一個C#小實例之---C#開機自動執行程序

編輯:C#入門知識

哇塞,嘿嘿,各種變態的需求啊,這回整個開機自動運行的程序。不要說我壞啊,嘿嘿,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查看

 2323

嘿嘿。好了,我們得到我們的文件了。

聲明一個可以使用注冊表的字段。

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 打開任務管理器(意思,你運行了,除非重啟,要不你就別想關閉!)

.....................喝黑,我還是不要說了。防止管理禁我言啊。

奉上最後的截圖

 1111

 212121

最後注明一下,操作注冊表需要的是管理員的權限。所以請確定,程序是在操作員的權限下運行。

 212121

 作者“ASP.NET自學博客”
 

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved