C++ 写入注册表 开机自动运行 功能

//参数strPath就是你要开机自动运行程序的路径(包括程序名)  注意用\\

    CString   strReg;   //注册表路径
    HKEY   hRegKey;    //注册表键值句柄
    BOOL   bResult;    //判断成功
    CString  sConvertStr;  //转换的字符串
    CString sFileName;   //文件名称
    strReg=_T("Software\\Microsoft\\Windows\\CurrentVersion\\Run");  
    if(RegOpenKey(HKEY_LOCAL_MACHINE, strReg,   &hRegKey)   !=   ERROR_SUCCESS)    //打开注册表
  bResult=FALSE;  
    else  
    {  
        _splitpath(strPath.GetBuffer(0),NULL,NULL,sFileName.GetBufferSetLength(MAX_PATH+1),NULL); //分析路径
        strPath.ReleaseBuffer();  
        strReg.ReleaseBuffer();  
  sConvertStr.Format(" \"%s\" ",strPath);   //转换字符串变量 加入"" 引用起来 否则写入注册表 没有""的中文路径 不起作用
        if(::RegSetValueEx(hRegKey,sFileName,0,REG_SZ,(CONST   BYTE   *)sConvertStr.GetBuffer(0),sConvertStr.GetLength()) != ERROR_SUCCESS)  
   bResult=FALSE;        //修改注册表
        else  
            bResult=TRUE;  
        sConvertStr.ReleaseBuffer();  
    }  
 if(RegCloseKey(hRegKey) != ERROR_SUCCESS)   //关闭注册表
 {
  bResult=FALSE;
 }
    return   bResult;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值