转载:程序开机启动

关键字 程序开机启动
原作者姓名 冬瓜

介绍
最近自己写了个小程序,里面有些代码可以重用,所以拿出来献丑了
这里有两段代码,利用这两段代码
可以轻松的实现自己的程序的开机启动和删除开机启动功能,


正文
本代码段是在注册表中的
HKEY_LOCAL_MACHINE
下的Software//Microsoft//Windows//CurrentVersion//Run
子键下加子键,使程序能够自动运行.


//由于使用了类 CRegKey,所以在使用前得包含头文件 #include <atlbase.h>


函数一:

BOOL AddAutoRun() //增加自动运行功能 增加成功返回TRUE
{

CRegKey m_RegKey;
LPCTSTR lp="Software//Microsoft//Windows//CurrentVersion//Run";
//打开键
if(m_RegKey.Open(HKEY_LOCAL_MACHINE,lp)!= ERROR_SUCCESS)
return FALSE;

CString sPath;
//得到程序的路径
GetModuleFileName(NULL,sPath.GetBufferSetLength(MAX_PATH+1),MAX_PATH);
sPath.ReleaseBuffer();
//(sPath,"XXX"))中的XXX表示你在Run下的子键的名字,你可以写成你的程序的名字
//这里的XXX要和函数二中的XXX要一致哦

if(ERROR_SUCCESS !=m_RegKey.SetValue(sPath,"XXX"))
{
m_RegKey.Close();
return FALSE;
}
else
{
m_RegKey.Close();
return TRUE;
}

}
函数二:
BOOL DelAutoRun() //删除自动运行功能 删除成功返回TRUE
{
CRegKey m_RegKey;
LPCTSTR lp="Software//Microsoft//Windows//CurrentVersion//Run";
if(m_RegKey.Open(HKEY_LOCAL_MACHINE,lp)!= ERROR_SUCCESS)
return FALSE;
//DeleteValue("XXX"))中的XXX表示你在Run下的子键的名字,你可以写成你的程序的名字
//这里的XXX要和函数一中的XXX要一致哦

if(ERROR_SUCCESS !=m_RegKey.DeleteValue("XXX"))
{
m_RegKey.Close();
return FALSE;
}
else
{
m_RegKey.Close();
return TRUE;
}
}


使用说明:
(1):由于使用了类 CRegKey,所以在使用前得包含头文件 #include <atlbase.h>
(2):如果在编译的时候,发现宏MAX_PATH没有被声明的话,把它换成数字 260 既可
(3):函数中的 "XXX"为HKEY_LOCAL_MACHINE
下的Software//Microsoft//Windows//CurrentVersion//Run
子键下加子键的名字,你可以换成你程序的名字,但两个函数中的 "XXX"要 一致
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值