MFC应用程序开机自启动


void CGestureRecognitionDlg::AutoStart(BOOL IsAutoStart)
{
	HKEY hKey;
	CString strRegPath = _T("SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run");
	//找到系统的启动项
	if (IsAutoStart)
	{
		if (RegOpenKeyEx(HKEY_CURRENT_USER, strRegPath, 0, KEY_ALL_ACCESS, &hKey) == ERROR_SUCCESS) //打开启动项
		{
			TCHAR szModule[MAX_PATH];
			GetModuleFileName(NULL, szModule, MAX_PATH);                 //得到本程序自身的全路径
			RegSetValueEx(hKey, _T("EasyLiu-GestureRecognition"), 0, REG_SZ, (LPBYTE)szModule, (lstrlen(szModule) + 1)*sizeof(TCHAR));
			//添加一个子Key,并设置值,"Demo"是应用程序名字(不加后缀.exe)
			RegCloseKey(hKey); //关闭注册表
		}
		else
		{
			AfxMessageBox(_T("系统参数错误,不能随系统启动"));
		}
	}
	else
	{
		if (RegOpenKeyEx(HKEY_CURRENT_USER, strRegPath, 0, KEY_ALL_ACCESS, &hKey) == ERROR_SUCCESS)
		{
			RegDeleteValue(hKey, _T("EasyLiu-GestureRecognition"));
			RegCloseKey(hKey);
		}
	}
}

版权声明:本文为博主原创文章,未经博主允许不得转载。

时间: 2024-10-14 11:37:49

MFC应用程序开机自启动的相关文章

MFC实现程序开机自启动

把程序设为开机启动,有三种方式: (1). 把程序增加到注册表的开机运行项, 系统: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run 用户: HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run 需要注意32位程序在64位系统运行,操作注册表被重定向的问题. (2). 增加执行程序的快捷方式到系统开机启动目录,Windows自动启动放入该文件

MFC实现程序开机自启动(II)

很多监控软件要求软件能够在系统重新启动后不用用户去点击图标启动项目,而是直接能够启动运行,方法是写注册表 char szProcFullName[MAX_PATH] = { 0 }; ::GetModuleFileName(NULL, szProcFullName, MAX_PATH); HKEY hSubKey = NULL; HKEY hKey = HKEY_CURRENT_USER; const char* szSubKey = TEXT("Software\\Microsoft\\Win

cenOS设置程序开机自启动的方法

cenOS设置程序开机自启动的方法主要有两种 1.把启动程序的命令添加到/etc/rc.d/rc.local 文件夹中. eg1.设置开机启动mysql vim /etc/rc.d/rc.local #!/bin/sh # # This script will be executed *after* all the other init scripts. # You can put your own initialization stuff in here if you don't # want

android 程序开机自启动

今天遇到程序开机自启动,然后查了一下,很简单,就记录一下. 开机自启动,一般我们是开启启动一个广播,然后在广播里启动Activity或者别的服务. 我们要做的很简单,就是在AndroidManifest.xml  里面的广播中添加一行代码 <receiver android:name="广播名称"> <intent-filter> <action android:name="android.intent.action.BOOT_COMPLETED

Windows下通过写注册表的方式实现程序开机自启动

程序可以读取同目录下的config.ini文件中的配置来实现开机自启动. config.ini文件地格式实例如下: [Main] KeyName = test ProcessPath = D:\bin\test.exe 其中KeyName字段为写入注册表的表项名称(可以设置为程序名) ProcessPath为程序的完整路径 程序的完整源代码如下. regedit函数实现注册表写入,autopen实现开机自启动. 编译后的程序在此下载:程序下载 #include <stdio.h> #inclu

C#如何设置程序开机自启动

如果想要将一个exe程序设置为开机自启动,其实就是在HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Run注册表项中添加一个注册表变量,这个变量的值是程序的所在路径. 具体操作步骤是: 1.使用RegistryKey类的CreateSubKey方法打开HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Ru

linux 让一个程序开机自启动并把一个程序加为服务

本文以tomcat7为例 首先找到tomcat启动的目录,我的为 cd /usr/local/tomcat7/bin/ 这个目录 启动脚本是startup.sh 然后在/etc/rc.d/rc.local 这个文件中将tomcat的启动脚本添加进来即可. 重启操作系统,发现tomcat7可以开机自启动了. 将tomcat添加为服务 将 /usr/local/tomcat7/bin/catalina.sh 这个文件拷贝到 /etc/rc.d/init.d 这个目录并重命名为tomcat 使用命令

程序开机自启动

关于让程序在手机开机的时候自启动,给一个小的Demo 1. [代码]主活动界面 package com.android.antking.startloading; import android.app.Activity; import android.content.BroadcastReceiver; import android.content.Context; import android.content.Intent; import android.os.Bundle; public c

设置让程序开机自启动的方法

以下方法均可以让程序开机自启动. 1.    在/etc/rc.d/rc.sysinit 末尾添加命令或要执行的程序脚本该脚本run once at boot time.所以对所有启动级别都有效 2.    在/etc/rc.d/rc.local中添加命令或要执行的程序脚本这个脚本将被执行在所有其他的init脚本执行完成后,默认对2345启动级别有效. 3.    在对应启动级别的/etc/rc.d/rcX.d 做连接文件连接的格式如:ln  -s  /etc/rc.d/init.d/xx  /