|
发表于 2019-8-3 22:56:01
|
显示全部楼层
- CBoot m_boot;
- BOOL CReminderDlg::OnInitDialog()
- {
- m_boot.AutoBootSet();
- }
- BOOL CBoot::AutoBootSet()
- {
- HKEY hKey;
- CString lpRun = _T("SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run");
- long lRet = RegOpenKeyEx(HKEY_CURRENT_USER, lpRun, 0, KEY_ALL_ACCESS, &hKey);
- if(lRet == ERROR_SUCCESS)
- {
- TCHAR pFileName[MAX_PATH] = {0};
- // 添加第一个双引号
- *pFileName = _T('"');
- // 因为第一个字符设置为双引号,所以缓冲区偏移一个字符
- DWORD dwRet = GetModuleFileName(NULL, pFileName + 1, MAX_PATH - 1);
- // 添加第二个双引号和参数
- _tcscat(pFileName, _T("" -auto"));
- lRet = RegSetValueEx(hKey, _T("AppName"), 0, REG_SZ, (LPBYTE)pFileName, (lstrlen(pFileName) + 1)*sizeof(TCHAR));
- RegCloseKey(hKey);
- if(lRet != ERROR_SUCCESS)
- {
- return false;
- }
- return true;
- }
- return false;
- }
复制代码 |
|