vc++ 程序开机自启动和取消启动


//开机启动
int  CMainWnd::CreateRun()
{
    //添加以下代码
    HKEY   hKey; 
    char pFileName[MAX_PATH] = {0}; 
    //得到程序自身的全路径 
    DWORD dwRet = GetModuleFileNameW(NULL, (LPWCH)pFileName, MAX_PATH); 
    //找到系统的启动项 
    LPCTSTR lpRun = _T("Software\\Microsoft\\Windows\\CurrentVersion\\Run"); 
    //打开启动项Key 
    long lRet = RegOpenKeyEx(HKEY_LOCAL_MACHINE, lpRun, 0, KEY_WRITE, &hKey); 
    if(lRet== ERROR_SUCCESS)
    {
        //添加注册
        RegSetValueEx(hKey, _T("UilibDemo"), 0,REG_SZ,(const BYTE*)(LPCSTR)pFileName, MAX_PATH);
        RegCloseKey(hKey); 
    }
    return 0;
}
//取消开机启动
int CMainWnd::DeleteRun()
{
    //添加以下代码
    HKEY   hKey; 
    char pFileName[MAX_PATH] = {0}; 
    //得到程序自身的全路径 
    DWORD dwRet = GetModuleFileNameW(NULL, (LPWCH)pFileName, MAX_PATH); 
    //找到系统的启动项 
    LPCTSTR lpRun = _T("Software\\Microsoft\\Windows\\CurrentVersion\\Run"); 
    //打开启动项Key 
    long lRet = RegOpenKeyEx(HKEY_LOCAL_MACHINE, lpRun, 0, KEY_WRITE, &hKey); 
    if(lRet== ERROR_SUCCESS)
    {
        //删除注册
        RegDeleteValue(hKey,_T("UilibDemo"));
        RegCloseKey(hKey); 
    }
    return 0;
}

 可通过命令:regedit 查看注册表中的数据

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM