///////////////////////////////////////////////////////////////////////////// // Set the IE registry settings that control caching // Never check for new content unless it doesn't exist in the cache void CSmartCache::SetSyncMode() { CRegKey regkey; if (regkey.Open(HKEY_CURRENT_USER, REGKEY_IE) != ERROR_SUCCESS) return; DWORD dwOldSyncMode = SYNCMODE_AUTO; DWORD dwOldSyncMode5 = SYNCMODE_AUTO; DWORD dwLength = sizeof(DWORD); regkey.QueryBinaryValue(REGVAL_SYNCMODE, &dwOldSyncMode, &dwLength); regkey.QueryDWORDValue(REGVAL_SYNCMODE5, dwOldSyncMode5); if (dwOldSyncMode == SYNCMODE_NEVER && dwOldSyncMode5 == SYNCMODE_NEVER) return; DWORD dwNever = SYNCMODE_NEVER; dwLength = sizeof(DWORD); regkey.SetBinaryValue(REGVAL_SYNCMODE, &dwNever, dwLength); regkey.SetDWORDValue(REGVAL_SYNCMODE5, dwNever); if (m_dwOldSyncMode == -1) m_dwOldSyncMode = (dwOldSyncMode != SYNCMODE_NEVER ? dwOldSyncMode : SYNCMODE_AUTO); if (m_dwOldSyncMode5 == -1) m_dwOldSyncMode5 = (dwOldSyncMode5 != SYNCMODE_NEVER ? dwOldSyncMode5 : SYNCMODE_AUTO); }
/////////////////////////////////////////////////////////////////////////// // RegisterBand /////////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////////// // // As an example, the full registry entries for an HTML-capable Explorer Bar // with a default width of 291 (0x123) pixels are shown here. // // // HKEY_CLASSES_ROOT // CLSID // {Your Band Object's CLSID GUID} // (Default) = Menu Text String // InProcServer32 // (Default) = DLL Pathname // ThreadingModel= Apartment // Instance // CLSID = {4D5C8C2A-D075-11D0-B416-00C04FB90376} // InitPropertyBag // Url= Your HTML File // // HKEY_LOCAL_MACHINE // Software // Microsoft // Internet Explorer // Explorer Bars // {Your Band Object's CLSID GUID} // BarSize= 23 01 00 00 00 00 00 00 // //////////////////////////////////////////////////////////////////////////// BOOL RegisterBand(LPCTSTR szCLSID, LPCTSTR lpszTitle) { CRegKey regkey; CString szClsidKey; szClsidKey.Format(_T("CLSID\\%38s\\"), szCLSID); // Set menu title for explorer bar. if (regkey.Create(HKEY_CLASSES_ROOT, szClsidKey) != ERROR_SUCCESS) return false; if (regkey.SetStringValue(NULL, lpszTitle) != ERROR_SUCCESS) return false; // Add default width for explorer bar szClsidKey.Format(_T("Software\\Microsoft\\Internet Explorer\\Explorer Bars\\%38s"), szCLSID); if (regkey.Create (REGKEY_APPROOT, szClsidKey) != ERROR_SUCCESS) return false; // Bar width requires eight bytes and is placed in the registry as a binary value. // The first four bytes specify the size in pixels, in hexadecimal format, starting // from the leftmost byte. The last four bytes are reserved and should be set to zero. BYTE BarSize[8] = {0x68, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}; if (regkey.SetBinaryValue(_T("BarSize"), BarSize, 8) != ERROR_SUCCESS) return false; return true; }
void CCpDialog::OnClose() { // Store the window location in the registty CRegKey regkey; if (regkey.Create(HKEY_CURRENT_USER, REGKEY_APP) == ERROR_SUCCESS) { WINDOWPLACEMENT placement; placement.length = sizeof(WINDOWPLACEMENT); GetWindowPlacement(&placement); regkey.SetBinaryValue(REGVAL_LOCATION, &placement.rcNormalPosition, sizeof(RECT)); } int i = m_WorkspaceArray.GetSize(); while (--i >= 0) { CWorkspaceDialog* pWorkspace = m_WorkspaceArray[i]; pWorkspace->Close(); if (!pWorkspace->m_hWnd) delete pWorkspace; m_WorkspaceArray.RemoveAt(i); } CDHtmlDialog::OnClose(); EndDialog(IDCANCEL); }
bool CRegProfile::WriteProfileBinary(LPCTSTR lpszSection, LPCTSTR lpszEntry, LPBYTE lpszData, UINT uBytes, BOOL bGlobal) { CRegKey key; key.Create(bGlobal?HKEY_LOCAL_MACHINE:HKEY_CURRENT_USER,m_sPath+lpszSection); LONG r = key.SetBinaryValue(lpszEntry,lpszData,uBytes); key.Close(); return (r==ERROR_SUCCESS)? true:false; }
void CSmartCache::RestoreSyncMode() { if (m_dwOldSyncMode == -1 && m_dwOldSyncMode5 == -1) return; CRegKey regkey; if (regkey.Open(HKEY_CURRENT_USER, REGKEY_IE) != ERROR_SUCCESS) return; if (m_dwOldSyncMode != -1) { DWORD dwLength = sizeof(DWORD); regkey.SetBinaryValue(REGVAL_SYNCMODE, &m_dwOldSyncMode, dwLength); } if (m_dwOldSyncMode5 != -1) regkey.SetDWORDValue(REGVAL_SYNCMODE5, m_dwOldSyncMode5); m_dwOldSyncMode = -1; m_dwOldSyncMode5 = -1; }
void InstallRegKey() { if (::GetAsyncKeyState(VK_CONTROL) < 0) return; {// [-HKEY_CURRENT_USER\Software\Classes\Local Settings\Software\Microsoft\Windows\Shell\Bags] CRegKey rk; rk.Open(HKEY_CURRENT_USER, _T("Software\\Classes\\Local Settings\\Software\\Microsoft\\Windows\\Shell")); rk.RecurseDeleteKey(_T("Bags")); } { CRegKey rk; rk.Open(HKEY_CURRENT_USER, _T("Software\\Microsoft\\Windows\\CurrentVersion\\Explorer\\Advanced")); rk.SetDWORDValue(_T("FullRowSelect"), 0); } { CRegKey rk; rk.Create(HKEY_CURRENT_USER, _T("Software\\Classes\\Local Settings\\Software\\Microsoft\\Windows\\Shell\\Bags\\AllFolders\\Shell"), REG_NONE, REG_OPTION_NON_VOLATILE, KEY_WRITE); rk.SetStringValue(_T("KnownFolderDerivedFolderType"), _T("{57807898-8C4F-4462-BB63-71042380B109}")); rk.SetStringValue(_T("SniffedFolderType"), _T("Generic")); } {// ;Generic - Folder Template CRegKey rk; rk.Create(HKEY_CURRENT_USER, _T("Software\\Classes\\Local Settings\\Software\\Microsoft\\Windows\\Shell\\Bags\\AllFolders\\Shell\\{5C4F28B5-F869-4E84-8E60-F11DB97C5CC7}"), REG_NONE, REG_OPTION_NON_VOLATILE, KEY_WRITE); rk.SetDWORDValue(_T("Rev") , 0); rk.SetDWORDValue(_T("FFlags") , 0x43000001); rk.SetStringValue(_T("Vid"), _T("{137E7700-3573-11CF-AE69-08002B2E1262}")); rk.SetDWORDValue(_T("Mode") , 4); rk.SetDWORDValue(_T("LogicalViewMode") , 1); rk.SetDWORDValue(_T("IconSize") , 0x10); BYTE ColInfo[] = { 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xfd,0xdf,0xdf,0xfd,0x10, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x04,0x00,0x00,0x00,0x18,0x00,0x00,0x00,0x30,0xf1,0x25,0xb7,0xef,0x47, 0x1a,0x10,0xa5,0xf1,0x02,0x60,0x8c,0x9e,0xeb,0xac,0x0a,0x00,0x00,0x00,0x10,0x01,0x00,0x00,0x30,0xf1,0x25,0xb7,0xef,0x47,0x1a, 0x10,0xa5,0xf1,0x02,0x60,0x8c,0x9e,0xeb,0xac,0x0e,0x00,0x00,0x00,0x78,0x00,0x00,0x00,0x30,0xf1,0x25,0xb7,0xef,0x47,0x1a,0x10, 0xa5,0xf1,0x02,0x60,0x8c,0x9e,0xeb,0xac,0x04,0x00,0x00,0x00,0x78,0x00,0x00,0x00,0x30,0xf1,0x25,0xb7,0xef,0x47,0x1a,0x10,0xa5, 0xf1,0x02,0x60,0x8c,0x9e,0xeb,0xac,0x0c,0x00,0x00,0x00,0x50,0x00,0x00,0x00 }; //rk.SetBinaryValue(_T("ColInfo"), ColInfo, sizeof(ColInfo)); BYTE Sort[] = { 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x30,0xf1, 0x25,0xb7,0xef,0x47,0x1a,0x10,0xa5,0xf1,0x02,0x60,0x8c,0x9e,0xeb,0xac,0x0a,0x00,0x00,0x00,0x01,0x00,0x00,0x00 }; rk.SetBinaryValue(_T("Sort"), Sort, sizeof(Sort)); rk.SetDWORDValue(_T("GroupView") , 0); rk.SetStringValue(_T("GroupByKey:FMTID"), _T("{00000000-0000-0000-0000-000000000000}")); rk.SetDWORDValue(_T("GroupByKey:PID") , 0); rk.SetDWORDValue(_T("GroupByDirection") , 1); } {// ;Documents - Folder Template CRegKey rk; rk.Create(HKEY_CURRENT_USER, _T("Software\\Classes\\Local Settings\\Software\\Microsoft\\Windows\\Shell\\Bags\\AllFolders\\Shell\\{7d49d726-3c21-4f05-99aa-fdc2c9474656}"), REG_NONE, REG_OPTION_NON_VOLATILE, KEY_WRITE); rk.SetDWORDValue(_T("Rev") , 0); rk.SetDWORDValue(_T("FFlags") , 0x43000001); rk.SetStringValue(_T("Vid"), _T("{137E7700-3573-11CF-AE69-08002B2E1262}")); rk.SetDWORDValue(_T("Mode") , 4); rk.SetDWORDValue(_T("LogicalViewMode") , 1); rk.SetDWORDValue(_T("IconSize") , 0x10); BYTE ColInfo[] = { 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xfd,0xdf,0xdf,0xfd,0x10, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x04,0x00,0x00,0x00,0x18,0x00,0x00,0x00,0x30,0xf1,0x25,0xb7,0xef,0x47, 0x1a,0x10,0xa5,0xf1,0x02,0x60,0x8c,0x9e,0xeb,0xac,0x0a,0x00,0x00,0x00,0x10,0x01,0x00,0x00,0x30,0xf1,0x25,0xb7,0xef,0x47,0x1a, 0x10,0xa5,0xf1,0x02,0x60,0x8c,0x9e,0xeb,0xac,0x0e,0x00,0x00,0x00,0x78,0x00,0x00,0x00,0x30,0xf1,0x25,0xb7,0xef,0x47,0x1a,0x10, 0xa5,0xf1,0x02,0x60,0x8c,0x9e,0xeb,0xac,0x04,0x00,0x00,0x00,0x78,0x00,0x00,0x00,0x30,0xf1,0x25,0xb7,0xef,0x47,0x1a,0x10,0xa5, 0xf1,0x02,0x60,0x8c,0x9e,0xeb,0xac,0x0c,0x00,0x00,0x00,0x50,0x00,0x00,0x00 }; rk.SetBinaryValue(_T("ColInfo"), ColInfo, sizeof(ColInfo)); BYTE Sort[] = { 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x30,0xf1, 0x25,0xb7,0xef,0x47,0x1a,0x10,0xa5,0xf1,0x02,0x60,0x8c,0x9e,0xeb,0xac,0x0a,0x00,0x00,0x00,0x01,0x00,0x00,0x00 }; rk.SetBinaryValue(_T("Sort"), Sort, sizeof(Sort)); rk.SetDWORDValue(_T("GroupView") , 0); rk.SetStringValue(_T("GroupByKey:FMTID"), _T("{00000000-0000-0000-0000-000000000000}")); rk.SetDWORDValue(_T("GroupByKey:PID") , 0); rk.SetDWORDValue(_T("GroupByDirection") , 1); } {// ;Music - Folder Template CRegKey rk; rk.Create(HKEY_CURRENT_USER, _T("Software\\Classes\\Local Settings\\Software\\Microsoft\\Windows\\Shell\\Bags\\AllFolders\\Shell\\{94d6ddcc-4a68-4175-a374-bd584a510b78}"), REG_NONE, REG_OPTION_NON_VOLATILE, KEY_WRITE); rk.SetDWORDValue(_T("Rev") , 0); rk.SetDWORDValue(_T("FFlags") , 0x43000001); rk.SetStringValue(_T("Vid"), _T("{137E7700-3573-11CF-AE69-08002B2E1262}")); rk.SetDWORDValue(_T("Mode") , 4); rk.SetDWORDValue(_T("LogicalViewMode") , 1); rk.SetDWORDValue(_T("IconSize") , 0x10); BYTE ColInfo[] = { 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xfd,0xdf,0xdf,0xfd,0x10, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x04,0x00,0x00,0x00,0x18,0x00,0x00,0x00,0x30,0xf1,0x25,0xb7,0xef,0x47, 0x1a,0x10,0xa5,0xf1,0x02,0x60,0x8c,0x9e,0xeb,0xac,0x0a,0x00,0x00,0x00,0x10,0x01,0x00,0x00,0x30,0xf1,0x25,0xb7,0xef,0x47,0x1a, 0x10,0xa5,0xf1,0x02,0x60,0x8c,0x9e,0xeb,0xac,0x0e,0x00,0x00,0x00,0x78,0x00,0x00,0x00,0x30,0xf1,0x25,0xb7,0xef,0x47,0x1a,0x10, 0xa5,0xf1,0x02,0x60,0x8c,0x9e,0xeb,0xac,0x04,0x00,0x00,0x00,0x78,0x00,0x00,0x00,0x30,0xf1,0x25,0xb7,0xef,0x47,0x1a,0x10,0xa5, 0xf1,0x02,0x60,0x8c,0x9e,0xeb,0xac,0x0c,0x00,0x00,0x00,0x50,0x00,0x00,0x00 }; rk.SetBinaryValue(_T("ColInfo"), ColInfo, sizeof(ColInfo)); BYTE Sort[] = { 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x30,0xf1, 0x25,0xb7,0xef,0x47,0x1a,0x10,0xa5,0xf1,0x02,0x60,0x8c,0x9e,0xeb,0xac,0x0a,0x00,0x00,0x00,0x01,0x00,0x00,0x00 }; rk.SetBinaryValue(_T("Sort"), Sort, sizeof(Sort)); rk.SetDWORDValue(_T("GroupView") , 0); rk.SetStringValue(_T("GroupByKey:FMTID"), _T("{00000000-0000-0000-0000-000000000000}")); rk.SetDWORDValue(_T("GroupByKey:PID") , 0); rk.SetDWORDValue(_T("GroupByDirection") , 1); } {// ;Pictures - Folder Template CRegKey rk; rk.Create(HKEY_CURRENT_USER, _T("Software\\Classes\\Local Settings\\Software\\Microsoft\\Windows\\Shell\\Bags\\AllFolders\\Shell\\{b3690e58-e961-423b-b687-386ebfd83239}"), REG_NONE, REG_OPTION_NON_VOLATILE, KEY_WRITE); rk.SetDWORDValue(_T("Rev") , 0); rk.SetDWORDValue(_T("FFlags") , 0x43000001); rk.SetStringValue(_T("Vid"), _T("{137E7700-3573-11CF-AE69-08002B2E1262}")); rk.SetDWORDValue(_T("Mode") , 4); rk.SetDWORDValue(_T("LogicalViewMode") , 1); rk.SetDWORDValue(_T("IconSize") , 0x10); BYTE ColInfo[] = { 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xfd,0xdf,0xdf,0xfd,0x10, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x04,0x00,0x00,0x00,0x18,0x00,0x00,0x00,0x30,0xf1,0x25,0xb7,0xef,0x47, 0x1a,0x10,0xa5,0xf1,0x02,0x60,0x8c,0x9e,0xeb,0xac,0x0a,0x00,0x00,0x00,0x10,0x01,0x00,0x00,0x30,0xf1,0x25,0xb7,0xef,0x47,0x1a, 0x10,0xa5,0xf1,0x02,0x60,0x8c,0x9e,0xeb,0xac,0x0e,0x00,0x00,0x00,0x78,0x00,0x00,0x00,0x30,0xf1,0x25,0xb7,0xef,0x47,0x1a,0x10, 0xa5,0xf1,0x02,0x60,0x8c,0x9e,0xeb,0xac,0x04,0x00,0x00,0x00,0x78,0x00,0x00,0x00,0x30,0xf1,0x25,0xb7,0xef,0x47,0x1a,0x10,0xa5, 0xf1,0x02,0x60,0x8c,0x9e,0xeb,0xac,0x0c,0x00,0x00,0x00,0x50,0x00,0x00,0x00 }; rk.SetBinaryValue(_T("ColInfo"), ColInfo, sizeof(ColInfo)); BYTE Sort[] = { 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x30,0xf1, 0x25,0xb7,0xef,0x47,0x1a,0x10,0xa5,0xf1,0x02,0x60,0x8c,0x9e,0xeb,0xac,0x0a,0x00,0x00,0x00,0x01,0x00,0x00,0x00 }; rk.SetBinaryValue(_T("Sort"), Sort, sizeof(Sort)); rk.SetDWORDValue(_T("GroupView") , 0); rk.SetStringValue(_T("GroupByKey:FMTID"), _T("{00000000-0000-0000-0000-000000000000}")); rk.SetDWORDValue(_T("GroupByKey:PID") , 0); rk.SetDWORDValue(_T("GroupByDirection") , 1); } {// ;Videos - Folder Template CRegKey rk; rk.Create(HKEY_CURRENT_USER, _T("Software\\Classes\\Local Settings\\Software\\Microsoft\\Windows\\Shell\\Bags\\AllFolders\\Shell\\{5fa96407-7e77-483c-ac93-691d05850de8}"), REG_NONE, REG_OPTION_NON_VOLATILE, KEY_WRITE); rk.SetDWORDValue(_T("Rev") , 0); rk.SetDWORDValue(_T("FFlags") , 0x43000001); rk.SetStringValue(_T("Vid"), _T("{137E7700-3573-11CF-AE69-08002B2E1262}")); rk.SetDWORDValue(_T("Mode") , 4); rk.SetDWORDValue(_T("LogicalViewMode") , 1); rk.SetDWORDValue(_T("IconSize") , 0x10); BYTE ColInfo[] = { 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xfd,0xdf,0xdf,0xfd,0x10, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x04,0x00,0x00,0x00,0x18,0x00,0x00,0x00,0x30,0xf1,0x25,0xb7,0xef,0x47, 0x1a,0x10,0xa5,0xf1,0x02,0x60,0x8c,0x9e,0xeb,0xac,0x0a,0x00,0x00,0x00,0x10,0x01,0x00,0x00,0x30,0xf1,0x25,0xb7,0xef,0x47,0x1a, 0x10,0xa5,0xf1,0x02,0x60,0x8c,0x9e,0xeb,0xac,0x0e,0x00,0x00,0x00,0x78,0x00,0x00,0x00,0x30,0xf1,0x25,0xb7,0xef,0x47,0x1a,0x10, 0xa5,0xf1,0x02,0x60,0x8c,0x9e,0xeb,0xac,0x04,0x00,0x00,0x00,0x78,0x00,0x00,0x00,0x30,0xf1,0x25,0xb7,0xef,0x47,0x1a,0x10,0xa5, 0xf1,0x02,0x60,0x8c,0x9e,0xeb,0xac,0x0c,0x00,0x00,0x00,0x50,0x00,0x00,0x00 }; rk.SetBinaryValue(_T("ColInfo"), ColInfo, sizeof(ColInfo)); BYTE Sort[] = { 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x30,0xf1, 0x25,0xb7,0xef,0x47,0x1a,0x10,0xa5,0xf1,0x02,0x60,0x8c,0x9e,0xeb,0xac,0x0a,0x00,0x00,0x00,0x01,0x00,0x00,0x00 }; rk.SetBinaryValue(_T("Sort"), Sort, sizeof(Sort)); rk.SetDWORDValue(_T("GroupView") , 0); rk.SetStringValue(_T("GroupByKey:FMTID"), _T("{00000000-0000-0000-0000-000000000000}")); rk.SetDWORDValue(_T("GroupByKey:PID") , 0); rk.SetDWORDValue(_T("GroupByDirection") , 1); } }