返回首页 我的新博客

实现软件自动启动代码

自动启动代码: void CServerApp::SetAutoRun() { HKEY hKey; char* szRegpath = "Software\\Microsoft\\Windows\\CurrentVersion\\Run"; long lRet; // 打开注册表 lRet = RegOpenKeyEx(HKEY_LOCAL_MACHINE, szRegpath, 0, KEY_ALL_ACCESS, &hKey); if (lRet != ERROR_SUCCESS) { AfxMessageBox("打开自动启动注册表失败!"); RegCloseKey(hKey); return; } // 得到当前文件的路径 char szFilePath[MAX_PATH]; DWORD dwRet; dwRet = GetModuleFileName(NULL, szFilePath, MAX_PATH); if (dwRet == 0) { AfxMessageBox("得到当前文件路径失败!"); return; } // 将当前路径增加到该注册表中 lRet = RegSetValueEx(hKey, "AttendServer", 0, REG_SZ, (CONST BYTE*)&szFilePath, strlen(szFilePath) + 1); if (lRet != ERROR_SUCCESS) { AfxMessageBox("写入自动启动注册表失败!"); RegCloseKey(hKey); return; } RegCloseKey(hKey); } 取消自动运行代码: void CServerApp::CancelAutoRun() { HKEY hKey; char* szRegpath = "Software\\Microsoft\\Windows\\CurrentVersion\\Run"; long lRet; // 打开注册表 lRet = RegOpenKeyEx(HKEY_LOCAL_MACHINE, szRegpath, 0, KEY_ALL_ACCESS, &hKey); if (lRet != ERROR_SUCCESS) { AfxMessageBox("打开自动启动注册表失败!"); RegCloseKey(hKey); return; } lRet = RegDeleteValue(hKey, "AttendServer"); if (lRet != ERROR_SUCCESS) { AfxMessageBox("删除该软件在自动启动注册表设置失败!"); RegCloseKey(hKey); return; } RegCloseKey(hKey); }
posted @ 2009-03-09 22:44  buffer的blogs  阅读(503)  评论(0编辑  收藏  举报