1. 程式人生 > >c#程式碼實現軟體開機自啟動

c#程式碼實現軟體開機自啟動

// LaunchOnBoot是int型別的變數,0:開機不自啟;1:開機自啟 

System.Security.Principal.WindowsIdentity identity = System.Security.Principal.WindowsIdentity.GetCurrent();

        System.Security.Principal.WindowsPrincipal principal = new System.Security.Principal.WindowsPrincipal(identity);

if (principal.IsInRole(System.Security.Principal.WindowsBuiltInRole.Administrator))
            {
                //如果是管理員,則寫入到登錄檔
                if (LaunchOnBoot

== 1)  // 開機自啟
                {
                    string path = Application.ExecutablePath;
                    RegistryKey rk = Registry.LocalMachine;
                    RegistryKey rk2 = rk.CreateSubKey(@"Software\Microsoft\Windows\CurrentVersion\Run");
                    rk2.SetValue("JcShutdown", path);
                    rk2.Close();
                    rk.Close();
                }
                else // 取消開機自啟
                {
                    string path = Application.ExecutablePath;
                    RegistryKey rk = Registry.LocalMachine;
                    RegistryKey rk2 = rk.CreateSubKey(@"Software\Microsoft\Windows\CurrentVersion\Run");
                    rk2.DeleteValue("JcShutdown", false);
                    rk2.Close();
                    rk.Close();
                }
            }
            else
            {
                // 如果不是管理員,則寫到當前使用者的登錄檔中去
                if (LaunchOnBoot == 1)  // 開機自啟
                {
                    string path = Application.ExecutablePath;
                    RegistryKey rk = Registry.CurrentUser;
                    RegistryKey rk2 = rk.CreateSubKey(@"Software\Microsoft\Windows\CurrentVersion\Run");
                    rk2.SetValue("JcShutdown", path);
                    rk2.Close();
                    rk.Close();
                }
                else // 取消開機自啟
                {
                    string path = Application.ExecutablePath;
                    RegistryKey rk = Registry.CurrentUser;
                    RegistryKey rk2 = rk.CreateSubKey(@"Software\Microsoft\Windows\CurrentVersion\Run");
                    rk2.DeleteValue("JcShutdown", false);
                    rk2.Close();
                    rk.Close();
                }
            }
 

相關推薦

c#程式碼實現軟體開機啟動

// LaunchOnBoot是int型別的變數,0:開機不自啟;1:開機自啟  System.Security.Principal.WindowsIdentity identity = System.Security.Principal.WindowsIdentity.

C#/WPF程式實現軟體開機自動啟動的兩種方法

C#/WPF程式實現軟體開機自動啟動的兩種方法 方法一:將軟體的快捷方式建立到計算機的自動啟動目錄下(不需要管理員許可權) 1.必要引用 using System; using System.Collections.Generic; using System.Linq; using Sy

C#/WPF程式實現軟體開機自動啟動的兩種常用方法

C#/WPF/WinForm/.NET程式程式碼實現軟體程式開機自動啟動的兩種常用方法函式的示例與例項帶詳細註釋 方法一:將軟體的快捷方式建立到計算機的自動啟動目錄下(不需要管理員許可權) 1.必要引用 using System; using System.Collections.Gen

C++實現程式開機啟動

可以採用以下方式實現自啟動: //拷貝到系統目錄 TCHAR TempPath[MAX_PATH]; CString temp; ::GetSystemDirectory(TempPath ,MAX_PATH); temp = TempPath; temp = temp

python專案實戰:實現電腦開機啟動軟體

前言 今天為大家介紹一個比較酷炫的案例,實現Windows電腦開機執行某軟體的方法,開機執行,隨著系統啟動應用程式,啟動完,會自

windows平板軟體開機啟動+霸屏的操作方法

       轉載(忘了地址) 很好很強大。成功親測 使用你自己的賬號(最好是管理員許可權的賬號)登入Windows,然後新增一個給其他人使用的賬戶(假設為other),注意一定要為other設定密碼。 執行命令提示符(Win鍵+R,輸入cmd回車),進入到psge

如何實現程式開機啟動

分為三步: 在AndroidManifest.xml檔案中定義廣播和宣告許可權 實現自定義廣播類 接收到廣播後,設定Activity的啟動模式 在AndroidManifest.xml檔案中定義廣播和宣告許可權 <uses-permission and

java實現Windows開機啟動

java實現Windows開機自啟動 自己寫的java小程式執行在Windows系統上,想要為程式新增開機自啟動設定怎麼辦? 總體思路是,生成啟動檔案寫入到系統的開機啟動項中即可,如果已打包成exe可執行程式,則生成快捷方式寫入開機啟動項,如果是其他檔案,可以將啟動指令碼寫入bat檔案然

修改登錄檔實現程式開機啟動

修改登錄檔實現程式開機自啟動 2017年09月27日 10:55:37 閱讀數:335 登錄檔簡介 何為登錄檔 登錄檔相當於Windows下的一個龐大的層次性資料庫.  基本上有責系統所有的配置資訊 登錄檔是windows作業系統中的一個核心資料庫,其中存放

win7/8/10如何設定任何exe軟體開機啟動

有時為了需要,我們需要某個軟體開機自啟動,但是有些軟體自身設定裡面沒有開機啟動選項,特別是一些綠色版軟體,我們則需要使用這個方法來實現軟體的開機自啟動。 工具/原料 Windows作業系統 需要自啟動的軟體 方法/步驟 以PicPick(截圖工

[原始碼和文件分享]修改登錄檔的方式實現程式開機啟動

背景 想必實現程式開機自啟動,是很常見的功能了。無論是惡意程式,還是正常的應用軟體,都會提供這個功能,方便使用者的使用。程式開機自啟動,顧名思義,就是計算機開機後,不用人為地去執行程式,程式就可以自己執行起來。對於這個功能的,一直都是殺軟重點監測的地方。因為,對於病毒來說,重要的不是如何被破壞,

如何使一個openwrt下的軟體開機啟動

條件有三: 1.需要在軟體包的Makefile中新增巨集定義Package/$(package-name)/preinst和Package/$(package-name)/prerm define Package/hello/postinst #!/bin/sh # check if we are

centos7 系統軟體開機啟動配置 tomcat Rabbitmq Redis kafka zookeeper nginx

首先說明一點,這是一個整體的自啟動配置總結,借鑑了很多前輩的經驗。 系統:centos7     這是重點,否則命令後不一樣。。。。 一、nginx 開機啟動 1.建立服務檔案 檔案路徑 vim /u

Android設定軟體開機啟動

背景知識:當Android啟動時,會發出一個系統廣播,內容為ACTION_BOOT_COMPLETED,它的字 符串常量表示為 android.intent.action.BOOT_COMPLETED。只要在程式中“捕捉”到這個訊息,再啟動之 即可。 首先在清單檔案的manifes

使用systemctl enable 命令實現tomcat開機啟動

注:本帖只是自己實現的具體過程,介意的勿看,如有侵權,請及時通知我進行刪除,謝謝! (1)在tomcat/bin目錄下新增setenv.sh檔案,首先需要進入tomcat的bin目錄,程式碼如圖所示:            檔案內容為:           程式碼:#add

Android實現程式開機啟動

可以通過Android系統中的廣播機制實現開機自啟動。廣播(Broadcast)是Android系統的四大元件之一,通過該機制可以實現不同應用程式之間的通訊。1 開機自啟動基本原理當Android系統開

C語言實現寫入登錄檔,簡單的開機啟動

這幾天突然發現自己的輸入法莫名其妙不能用了,怎麼都召喚不出來。去查了查相關事故,發現自己PC上一個叫CTFMON.EXE的檔案不知道啥時候被不小心刪除了還是怎麼地,反正就是用不了,於是重新在網上下載了一個,下載完成後開了幾次電腦突然才意識到每次運用輸入法都要提前執行這個程式,就覺得很麻煩,自己翻了下

如何在Linux上實現:Eureka服務的開機啟動

參數 src class blog nohup echo 創建文件 too hup 【問題描述】   由於最近在使用Spring Eureka的註冊中心服務,而辦公室每天晚上要斷電,每天早上過來後需要手工啟動Eureka服務非常麻煩。   需要實現:開機自動該服務的功能。

C/C++實現利用添加註冊表項實現文件啟動

c++實現 ng- 註冊表操作 comm .cpp mod mps main 文件路徑 簡介 添加註冊表項是實現文件自啟動的經典方法之一,但因為操作註冊表項是一個敏感操作,被報毒可能性較大,但即便如此,這個方法還是值得一學的,因為後期大部分編程都涉及到註冊表操作。 最常

CentOS 7 - 配置服務實現開機啟動

用戶名 centos 7 ring Language get syslog emc log tst 新建系統服務描述文件 cd /etc/systemd/system sudo vim myapp.service 添加以下配置: [Unit] # 這裏添加你的服務描述 D