codeINSTALL_INIT Install_Init( HWND hwndParent, BOOL fFirstCall, BOOL fPreviouslyInstalled, LPCTSTR pszInstallDir ) { DWORD dwDisp; HKEY hKeyFlipper, hKeyItems, hKeyItems0, hKeyItems1, hKeyItems0Data, hKeyItems1Data; RegCreateKeyEx(HKEY_CURRENT_USER, L"ControlPanel\\Flipper", 0, NULL, 0, KEY_ALL_ACCESS, NULL, &hKeyFlipper, &dwDisp); RegistrySetDWORD(hKeyFlipper, NULL, REG_EnableScrollAnimation, 1); RegistrySetDWORD(hKeyFlipper, NULL, REG_AutoClose, 0); RegistrySetDWORD(hKeyFlipper, NULL, REG_Disabled, 0); RegistrySetDWORD(hKeyFlipper, NULL, REG_TabAlignment, 0); RegistrySetDWORD(hKeyFlipper, NULL, REG_TabSize, 1); RegCreateKeyEx(hKeyFlipper, L"Items", 0, NULL, 0, KEY_ALL_ACCESS, NULL, &hKeyItems, &dwDisp); RegCreateKeyEx(hKeyItems, L"0", 0, NULL, 0, KEY_ALL_ACCESS, NULL, &hKeyItems0, &dwDisp); RegCreateKeyEx(hKeyItems, L"1", 0, NULL, 0, KEY_ALL_ACCESS, NULL, &hKeyItems1, &dwDisp); RegCreateKeyEx(hKeyItems0, L"Data", 0, NULL, 0, KEY_ALL_ACCESS, NULL, &hKeyItems0Data, &dwDisp); RegCreateKeyEx(hKeyItems1, L"Data", 0, NULL, 0, KEY_ALL_ACCESS, NULL, &hKeyItems1Data, &dwDisp); RegistrySetDWORD(hKeyItems0, NULL, L"Color", 8388672); RegistrySetDWORD(hKeyItems0, NULL, L"PluginId", 3); RegistrySetString(hKeyItems0, NULL, L"Assembly", L"FlipperPlugins.dll"); RegistrySetString(hKeyItems0, NULL, L"Name", L"Quick Launch"); RegistrySetDWORD(hKeyItems1, NULL, L"Color", 16512); RegistrySetDWORD(hKeyItems1, NULL, L"PluginId", 4); RegistrySetString(hKeyItems1, NULL, L"Assembly", L"FlipperPlugins.dll"); RegistrySetString(hKeyItems1, NULL, L"Name", L"Weather"); RegistrySetString(hKeyItems0Data, NULL, L"0_Path", L"\\Windows\\Start Menu\\Programs\\Flipper\\Flipper Settings.lnk"); RegistrySetDWORD(hKeyItems0Data, NULL, L"Count", 1); RegistrySetDWORD(hKeyItems1Data, NULL, L"ZipCode", 98052); RegCloseKey(hKeyItems0Data); RegCloseKey(hKeyItems1Data); RegCloseKey(hKeyItems0); RegCloseKey(hKeyItems1); RegCloseKey(hKeyItems); RegCloseKey(hKeyFlipper); return codeINSTALL_INIT_CONTINUE; }
void CQuickLaunch::SaveLaunchItems(HKEY hKey, list<LaunchItem*>* pLaunchItems) { WCHAR wzName[MAX_PATH]; DWORD dwName = sizeof(wzName); DWORD dwType; int index = 0; while (ERROR_SUCCESS == RegEnumValue(hKey, index, wzName, &dwName, NULL, &dwType, NULL, NULL)) { dwName = sizeof(wzName); RegDeleteValue(hKey, wzName); } int count = pLaunchItems->size(); RegistrySetDWORD(hKey, NULL, L"Count", count); index = 0; list<LaunchItem*>::iterator iter = pLaunchItems->begin(); while (iter != pLaunchItems->end()) { WCHAR wzPath[10], wzCount[5]; DWORD dwSize = 0; _itow(index, wzCount, 10); StringCchCopy(wzPath, ARRAYSIZE(wzPath), wzCount); StringCchCat(wzPath, ARRAYSIZE(wzPath), L"_Path"); LaunchItem* pRecord = *iter; RegistrySetString(hKey, NULL, wzPath, pRecord->wzPath); iter++; index++; } }
static void SetRegistryDefaults(void) { // default log window startup RegistrySetBoolean(REG_CONFIG_SECTION, REG_SHOW_LOG_ON_START, false); RegistrySetString(REG_CONFIG_SECTION, REG_FAVORITES_NAME, NO_FAVORITES_FILE); RegistrySetInteger(REG_CONFIG_SECTION, REG_MT_DIALOG_POS_X, 50); RegistrySetInteger(REG_CONFIG_SECTION, REG_MT_DIALOG_POS_Y, 50); RegistrySetInteger(REG_CONFIG_SECTION, REG_MT_DIALOG_SIZE_W, 400); RegistrySetInteger(REG_CONFIG_SECTION, REG_MT_DIALOG_SIZE_H, 400); // default animation controls RegistrySetInteger(REG_ANIMATION_SECTION, REG_SPIN_DELAY, 50); RegistrySetDouble(REG_ANIMATION_SECTION, REG_SPIN_INCREMENT, 2.0), RegistrySetInteger(REG_ANIMATION_SECTION, REG_FRAME_DELAY, 500); // default quality settings RegistrySetInteger(REG_QUALITY_SECTION, REG_QUALITY_ATOM_SLICES, 10); RegistrySetInteger(REG_QUALITY_SECTION, REG_QUALITY_ATOM_STACKS, 8); RegistrySetInteger(REG_QUALITY_SECTION, REG_QUALITY_BOND_SIDES, 6); RegistrySetInteger(REG_QUALITY_SECTION, REG_QUALITY_WORM_SIDES, 6); RegistrySetInteger(REG_QUALITY_SECTION, REG_QUALITY_WORM_SEGMENTS, 6); RegistrySetInteger(REG_QUALITY_SECTION, REG_QUALITY_HELIX_SIDES, 12); RegistrySetBoolean(REG_QUALITY_SECTION, REG_HIGHLIGHTS_ON, true); RegistrySetString(REG_QUALITY_SECTION, REG_PROJECTION_TYPE, "Perspective"); if (IsWindowedMode()) { // default font for OpenGL (structure window) wxFont *font = wxFont::New( #if defined(__WXMSW__) 12, #elif defined(__WXGTK__) 14, #elif defined(__WXMAC__) 14, #endif wxSWISS, wxNORMAL, wxBOLD, false); if (font && font->Ok()) RegistrySetString(REG_OPENGL_FONT_SECTION, REG_FONT_NATIVE_FONT_INFO, font->GetNativeFontInfoDesc().c_str()); else ERRORMSG("Can't create default structure window font"); if (font) delete font; // default font for sequence viewers font = wxFont::New( #if defined(__WXMSW__) 10, #elif defined(__WXGTK__) 14, #elif defined(__WXMAC__) 12, #endif wxROMAN, wxNORMAL, wxNORMAL, false); if (font && font->Ok()) RegistrySetString(REG_SEQUENCE_FONT_SECTION, REG_FONT_NATIVE_FONT_INFO, font->GetNativeFontInfoDesc().c_str()); else ERRORMSG("Can't create default sequence window font"); if (font) delete font; } // default cache settings RegistrySetBoolean(REG_CACHE_SECTION, REG_CACHE_ENABLED, true); if (GetPrefsDir().size() > 0) RegistrySetString(REG_CACHE_SECTION, REG_CACHE_FOLDER, GetPrefsDir() + "cache"); else RegistrySetString(REG_CACHE_SECTION, REG_CACHE_FOLDER, GetProgramDir() + "cache"); RegistrySetInteger(REG_CACHE_SECTION, REG_CACHE_MAX_SIZE, 25); // default advanced options RegistrySetBoolean(REG_ADVANCED_SECTION, REG_CDD_ANNOT_READONLY, true); #ifdef __WXGTK__ RegistrySetString(REG_ADVANCED_SECTION, REG_BROWSER_LAUNCH, // for launching netscape in a separate window "( netscape -noraise -remote 'openURL(<URL>,new-window)' || netscape '<URL>' ) >/dev/null 2>&1 &" // for launching netscape in an existing window // "( netscape -raise -remote 'openURL(<URL>)' || netscape '<URL>' ) >/dev/null 2>&1 &" ); #endif RegistrySetInteger(REG_ADVANCED_SECTION, REG_MAX_N_STRUCTS, 10); RegistrySetInteger(REG_ADVANCED_SECTION, REG_FOOTPRINT_RES, 0); // default stereo options RegistrySetDouble(REG_ADVANCED_SECTION, REG_STEREO_SEPARATION, 5.0); RegistrySetBoolean(REG_ADVANCED_SECTION, REG_PROXIMAL_STEREO, true); }