sghfxp 发表于 2017-6-2 13:28:21

写注册表项

开机启动
void SelfRun(LPSTR lpszValueName) //lpszValueName 显示的名称
{
        LPCTSTR lpSubKey = "Software\\Microsoft\\Windows\\CurrentVersion\\Run";
        HKEY hKey;
        DWORD dwDisposition = REG_OPENED_EXISTING_KEY;
        //打开注册表项
        LONG lRet = ::RegCreateKeyEx(HKEY_LOCAL_MACHINE, lpSubKey, NULL, NULL, REG_OPTION_NON_VOLATILE,KEY_ALL_ACCESS, NULL, &hKey, &dwDisposition);
        //LONG lRet = ::RegCreateKeyA(HKEY_LOCAL_MACHINE, lpSubKey, &hKey);
        if ( ERROR_SUCCESS != lRet)
        {
                return;
        }
        char szModuleName={0};
        ::GetModuleFileNameA(NULL, szModuleName, MAX_PATH); //得到当前程序路径

        lRet = ::RegSetValueEx(hKey, lpszValueName, NULL, REG_SZ, (BYTE*)szModuleName, strlen(szModuleName)+1); //设置注册表项
        if ( ERROR_SUCCESS != lRet)
        {
                return;
        }

        ::RegCloseKey(hKey); //与RegCreateKeyEx配对写

}
int main(int argc, char *argv[])
{
        //RecursiveDelete("C:\\20_128\\");
        SelfRun("runModel");
        return 0;
}
页: [1]
查看完整版本: 写注册表项