VC 开机自动启动/取消自动启动代码

正文内容: 开机启动
如下://写入注册表,开机自启动
    HKEY hKey;
    //找到系统的启动项
    LPCTSTR lpRun = "Software\\Microsoft\\Windows\\CurrentVersion\\Run";
    //打开启动项Key
    long lRet = RegOpenKeyEx(HKEY_LOCAL_MACHINE, lpRun, 0, KEY_WRITE, &hKey);
    if(lRet == ERROR_SUCCESS)
    {
        char pFileName[MAX_PATH] = {0};
        //得到程序自身的全路径
        DWORD dwRet = GetModuleFileName(NULL, pFileName, MAX_PATH);
        //添加一个子Key,并设置值
        lRet = RegSetValueEx(hKey, "CVJudge", 0, REG_SZ, (BYTE *)pFileName, dwRet);    
       
        RegCloseKey(hKey);
       
    }

回复一:

RegDeleteValue(hKey,"CVJudeg");
HKEY hKey;
    //找到系统的启动项
    LPCTSTR lpRun = "Software\\Microsoft\\Windows\\CurrentVersion\\Run";
    //打开启动项Key
    long lRet = RegOpenKeyEx(HKEY_LOCAL_MACHINE, lpRun, 0, KEY_WRITE, &hKey);
    if(lRet == ERROR_SUCCESS)
    {
        char pFileName[MAX_PATH] = {0};
        //得到程序自身的全路径
        DWORD dwRet = GetModuleFileName(NULL, pFileName, MAX_PATH);
        //添加一个子Key,并设置值
        //lRet = RegSetValueEx(hKey, "CVJudge", 0, REG_SZ, (BYTE *)pFileName, dwRet);
       改成:Ret=RegDeleteValue(hKey,"CVJudeg");

       
        RegCloseKey(hKey);
       
    }
回复二:用于自动启动和取消自动启动的代码

//isStart用于判断是否开机启动的标志,下面的myAutoRun是应用程序名字

bool SetAutoStartComputer(bool isStart,CString myAutoRun)
{
    HKEY hKey;
    CString str = _T("Software\\Microsoft\\Windows\\CurrentVersion\\Run");
    if (isStart)
    {
        //开机自动启动
        TCHAR m_fileName[MAX_PATH];
        GetModuleFileName(NULL,m_fileName,MAX_PATH);
        if (ERROR_SUCCESS != RegCreateKey(HKEY_LOCAL_MACHINE, str, &hKey))
        {
            MessageBox(_T("打开注册表项失败"));
            RegCloseKey(hKey);
            return false;
        }
        int length = 0;
        while(m_fileName[length]!=_T('\0'))
            length++;
        if (ERROR_SUCCESS != RegSetValueEx(hKey, myAutoRun, 0, REG_SZ, (const BYTE *)m_fileName, sizeof(TCHAR)*length))
        {
            MessageBox(_T("写注册表失败"));
            RegCloseKey(hKey);
        }
        RegCloseKey(hKey);
    }
    else
    {
        //取消开机自动启动
        if((RegOpenKeyEx(HKEY_LOCAL_MACHINE,str,0,KEY_WRITE,&hKey))==ERROR_SUCCESS)
        {
            if(RegDeleteValue(hKey,myAutoRun)!=ERROR_SUCCESS)
            {
                MessageBox(_T("删除注册表失败"));
            }
            RegCloseKey(hKey);
        }
       
    }
    return true;
}

 

 

原文链接:http://hi.baidu.com/845915715/item/b86c96f0c55b15dd6325d217

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值