Операционные системы. Марапулец Ю.В. - 30 стр.

UptoLike

Составители: 

Подпрограмма ConfirmPassword демонстрирует процедуру чтения
параметра реестра в виде строкового значения. В этой подпрограмме имя,
прочитанное из списка, используется для открытия дескриптора раздела, а
затем для чтения пароля.
BOOL CReg_OpsDlg::ConfirmPassword()
{
HKEY hKeyItem;
ULONG ulSize, ulType;
long lResult;
TCHAR szBuff[MAX_PATH+1];
CString csBuff, csPassword;
RegCreateKey ( m_hRegKey, m_csNameEntry, &hKeyItem );
ulSize = sizeof( szBuff );
lResult = RegQueryValueEx( hKeyItem, "Password", NULL, &ulType,
(LPBYTE) szBuff, &ulSize );
if(lResult != ERROR_SUCCESS )
{
ReportError( lResult ) ;
return FALSE;
}
CEnterPassword *pDlg == new CEnterPassword();
if( pDlg->DoModal() == IDOK )
csPassword = theApp.Encrypt( pDlg->m_csPassword );
else
return FALSE;
return( csPassword == szBuff );
}
В эту функцию также включена операция проверки ошибочных
результатов. Затем пароль, полученный из диалогового окна
класса
CEnterPassword, перед проверкой правильности введенных данных передается
подпрограмме Encrypt класса CReg_OpsApp.
4. Рассмотреть режим записи данных в разделы реестра.
Открыть раздел с
помощью функции RegCreateKey. Для этого, сначала вызвать функцию
RegOpenKey. Если указанный раздел уже существует, то подготовить его для
записи новой информации, в противном случае - создать его.
После открытия или создания соответствующего раздела производится
вызов функции RegSetValueEx, которая записывает информацию в реестр.
Подпрограмма AddToRegistry содержит два примера использования
функции RegSetValueEx для записи данных в реестр. Первый раз функция
RegSetValueEx применяется для записи строкового значения с указанием типа
REG_SZ:
30
      Подпрограмма ConfirmPassword демонстрирует процедуру чтения
параметра реестра в виде строкового значения. В этой подпрограмме имя,
прочитанное из списка, используется для открытия дескриптора раздела, а
затем для чтения пароля.

BOOL CReg_OpsDlg::ConfirmPassword()
{
     HKEY hKeyItem;
     ULONG ulSize, ulType;
     long lResult;
     TCHAR szBuff[MAX_PATH+1];
     CString csBuff, csPassword;
     RegCreateKey ( m_hRegKey, m_csNameEntry, &hKeyItem );
     ulSize = sizeof( szBuff );
     lResult = RegQueryValueEx( hKeyItem, "Password", NULL, &ulType,
                                (LPBYTE) szBuff, &ulSize );
     if(lResult != ERROR_SUCCESS )
     {
            ReportError( lResult ) ;
            return FALSE;
     }
     CEnterPassword *pDlg == new CEnterPassword();
    if( pDlg->DoModal() == IDOK )
            csPassword = theApp.Encrypt( pDlg->m_csPassword );
    else
            return FALSE;
     return( csPassword == szBuff );
}

      В эту функцию также включена операция проверки ошибочных
результатов. Затем пароль, полученный из диалогового окна класса
CEnterPassword, перед проверкой правильности введенных данных передается
подпрограмме Encrypt класса CReg_OpsApp.
     4. Рассмотреть режим записи данных в разделы реестра. Открыть раздел с
помощью функции RegCreateKey. Для этого, сначала вызвать функцию
RegOpenKey. Если указанный раздел уже существует, то подготовить его для
записи новой информации, в противном случае - создать его.
      После открытия или создания соответствующего раздела производится
вызов функции RegSetValueEx, которая записывает информацию в реестр.
      Подпрограмма AddToRegistry содержит два примера использования
функции RegSetValueEx для записи данных в реестр. Первый раз функция
RegSetValueEx применяется для записи строкового значения с указанием типа
REG_SZ:


                                    30