开机自启,始终在最前面
来源:互联网 发布:淘宝买iphone7哪家靠谱 编辑:程序博客网 时间:2024/04/30 04:49
//开机启动函数void CCommWizardDlg::OnBnClickedCheckStart(){CString str; //添加注册表路径 WCHAR* CurrentPath= new WCHAR[sizeof(WCHAR)*100];//程序当前路径HKEY hRegKey; //注册keyBOOL bResult; //打开注册表返回值str=_T("Software\\Microsoft\\Windows\\CurrentVersion\\Run");//注册表 GetModuleFileName(NULL,(LPSTR)CurrentPath,MAX_PATH); //获得运用程序路径if ( BST_CHECKED == IsDlgButtonChecked( IDC_CHECK_START ) ){// 勾选if(bResult=RegOpenKey(HKEY_LOCAL_MACHINE, str, &hRegKey) != ERROR_SUCCESS)//打开注册表 { //free(CurrentPath); //打开不成功就释放内存并返回 delete[] CurrentPath; return; } if(bResult=::RegSetValueEx(hRegKey,_T("StarBySelf"),0,REG_SZ, (const unsigned char *)CurrentPath, MAX_PATH)!= ERROR_SUCCESS) //打开成功写信息到注册表{ //写入失败 RegCloseKey(hRegKey); //关闭注册表key// free(CurrentPath); //释放内存资源 delete[] CurrentPath; return; //返回}else {//写入成功后执行释放内存ifChecked = true;RegCloseKey(hRegKey); // free(CurrentPath);delete[] CurrentPath;}}else{if(bResult=RegOpenKey(HKEY_LOCAL_MACHINE, str, &hRegKey) != ERROR_SUCCESS)//打开注册表 { //free(CurrentPath); //打开不成功就释放内存并返回 delete[] CurrentPath; return; } if(!RegDeleteValue(hRegKey,_T("StarBySelf"))) {// MessageBox(_T("删除注册表成功!"));ifChecked = false; RegCloseKey(hRegKey);delete[] CurrentPath; } else { MessageBox(_T("注册表删除失败!"));RegCloseKey(hRegKey);delete[] CurrentPath; }}}void CCommWizardDlg::OnBnClickedCheckHead(){if ( BST_CHECKED == IsDlgButtonChecked( IDC_CHECK_HEAD ) ){this-> SetWindowPos(&wndTopMost, 0, 0, 0, 0, SWP_NOMOVE | SWP_NOSIZE);}else{this-> SetWindowPos(&wndNoTopMost, 0, 0, 0, 0, SWP_NOMOVE | SWP_NOSIZE);}}