////////////////////////////////////////////////////////////////////////// //运用程序开机自启动 INT MakeSoftWareStartAuto(LPCTSTR lpValueName) { //根键、子键名称、和到子键的句柄 HKEY hRoot=HKEY_LOCAL_MACHINE; char *szSubKey="Software\\Microsoft\\Windows\\CurrentVersion\\Run"; HKEY hKey; //打开指定子键 DWORD dwDisposition=REG_OPENED_EXISTING_KEY;// 如果不存在不创建 LONG lRet=::RegCreateKeyEx(hRoot,szSubKey,0,NULL, REG_OPTION_NON_VOLATILE,KEY_ALL_ACCESS,NULL,&hKey,&dwDisposition); if (lRet!=ERROR_SUCCESS) { return -1; } //获得当前执行文件的文件名(包含路径) char szModule[MAX_PATH]; ::GetModuleFileName(NULL,szModule,MAX_PATH); //创建一个新的键值,设计键值数据为文件名 lRet=::RegSetValueEx(hKey,lpValueName,0,REG_SZ,(BYTE*)szModule,strlen(szModule)); if(lRet==ERROR_SUCCESS) { ::RegCloseKey(hKey); } }