Home | Info | Community | Development | myReactOS | Contact Us
[static]
Definition at line 29 of file freeldrpage.c.
Referenced by InitializeFreeLDRDialog().
{ WCHAR szBuffer[BUFFER_SIZE]; HWND hDlgCtrl; FILE * file; UINT length; LRESULT pos; wcscpy(szBuffer, szDrive); wcscat(szBuffer, L"freeldr.ini"); file = _wfopen(szBuffer, L"rt"); if (!file) { wcscpy(szBuffer, szDrive); wcscat(szBuffer, L"boot.ini"); file = _wfopen(szBuffer, L"rt"); if (!file) return FALSE; } hDlgCtrl = GetDlgItem(hDlg, IDC_LIST_BOX); while(!feof(file)) { if (fgetws(szBuffer, BUFFER_SIZE, file)) { length = wcslen(szBuffer); if (length > 1) { szBuffer[length] = L'\0'; szBuffer[length - 1] = L'\0'; pos = SendMessageW(hDlgCtrl, LB_ADDSTRING, 0, (LPARAM)szBuffer); if (szBuffer[0] == L'[') continue; if (!_wcsnicmp(szBuffer, L"timeout=", 8)) { Settings.TimeOut = _wtoi(&szBuffer[8]); continue; } if (!_wcsnicmp(szBuffer, L"default=", 8)) { wcscpy(Settings.szDefaultOS, &szBuffer[8]); continue; } if (pos != LB_ERR) SendMessage(hDlgCtrl, LB_SETITEMDATA, pos, 1); // indicate that this item is an boot entry Settings.OSConfigurationCount++; } } } fclose(file); Settings.UseBootIni = TRUE; pos = SendMessageW(hDlgCtrl, LB_FINDSTRING, 3, (LPARAM)Settings.szDefaultOS); if (pos != LB_ERR) { Settings.szDefaultPos = pos; SendMessage(hDlgCtrl, LB_SETCURSEL, pos, 0); } SetDlgItemInt(hDlg, IDC_TXT_BOOT_TIMEOUT, Settings.TimeOut, FALSE); if (Settings.OSConfigurationCount < 2) { EnableWindow(GetDlgItem(hDlg, IDC_BTN_SET_DEFAULT_BOOT), FALSE); EnableWindow(GetDlgItem(hDlg, IDC_BTN_MOVE_UP_BOOT_OPTION), FALSE); EnableWindow(GetDlgItem(hDlg, IDC_BTN_MOVE_DOWN_BOOT_OPTION), FALSE); } return TRUE; }