Исходники
Статьи
Языки программирования
.NET Delphi Visual C++ Borland C++ Builder C/С++ и C# Базы Данных MySQL MSSQL Oracle PostgreSQL Interbase VisualFoxPro Веб-Мастеру PHP HTML Perl Java JavaScript Протоколы AJAX Технология Ajax Освоение Ajax Сети Беспроводные сети Локальные сети Сети хранения данных TCP/IP xDSL ATM Операционные системы Windows Linux Wap Книги и учебники
Скрипты
Магазин программиста
|
Функции для работы с реестромРазбирался, давеча, с функциями позволяющими работать с реестром Windows. Нашел ряд функций-членов класса CWinApp: SetRegistryKey, GetProfileInt, GetProfileString, WriteProfileInt, WriteProfileString. CWinApp::SetRegistryKeyCWinApp::SetRegistryKey void SetRegistryKey( LPCTSTR lpszRegistryKey ); void SetRegistryKey( UINT nIDRegistryKey ); Параметры
Заставляет приложение сохранять установки в реестр вместо INI файлов. Эта функция устанавливает m_pszRegistryKey, которая затем используется в следующих функциях-членах CWinApp: GetProfileInt, GetProfileString, WriteProfileInt, and WriteProfileString. Если эта функция была вызвана, список недавно используемых файлов (list of most recently-used - MRU) также сохраняется в реестре. Ключ реестра обычно является именем компании. Ключ реестра имеет следующий вид: HKEY_CURRENT_USERSoftware. CWinApp::GetProfileIntCWinApp::GetProfileInt UINT GetProfileInt( LPCTSTR lpszSection, LPCTSTR lpszEntry, int nDefault ); Если функция успешно отработала - целое значение строки определенной записи. Возвращаемое значение - значение параметра nDefault если функция не нашла записи. Возвращаемое значение - 0 если значение которое соответствует заданной записи не целое. Эта функция поддерживает шестнадцатеричную нотацию для значений в .INI файле. Когда вы получаете знаковое целое, вы должны перевести значение в int. Параметры
Вызывайте эту функцию для получения целого значения записи из определенной секции из реестра или .INI файла. Записи сохраняются следующим образом: В Windows NT, значение сохраняется в ключ реестра. В Windows 3.x, значение сохраняется в WIN.INI файл. В Windows 95, значение сохраняется в скрытую версию WIN.INI файла. Эта функция не чувствительна к регистру букв, таким образом, строки в параметрах lpszSection и lpszEntry могут использовать буквы разного регистра. CWinApp::GetProfileStringCWinApp::GetProfileString CString GetProfileString( LPCTSTR lpszSection, LPCTSTR lpszEntry, LPCTSTR lpszDefault = NULL ); Возвращаемое значение - строка из.INI файла приложения или lpszDefault если строка не найдена. Максимальная длинна строки, которую поддерживает система, определена в _MAX_PATH. Если lpszDefault равно NULL, возвращаемое значение - пустая строка. Параметры
Вызывайте эту функцию для получения строки связанной с записью в заданной секции реестра приложения или .INI файла. Записи сохраняются следующим образом: В Windows NT, значение сохраняется в ключ реестра. В Windows 3.x, значение сохраняется в WIN.INI файл. В Windows 95, значение сохраняется в скрытую версию WIN.INI файла. Пример CString strSection = "Моя секция"; CString strStringItem = "Мой строковый элемент"; CString strIntItem = "Мой целый элемент"; CWinApp* pApp = AfxGetApp(); pApp->WriteProfileString(strSection, strStringItem, "test"); CString strValue; strValue = pApp->GetProfileString(strSection, strStringItem); ASSERT(strValue == "test"); pApp->WriteProfileInt(strSection, strIntItem, 1234); int nValue; nValue = pApp->GetProfileInt(strSection, strIntItem, 0); ASSERT(nValue == 1234); CWinApp::WriteProfileIntCWinApp::WriteProfileInt BOOL WriteProfileInt( LPCTSTR lpszSection, LPCTSTR lpszEntry, int nValue ); Возвращаемое значение: Не 0 в случае удачного вызова функции, иначе 0. Параметры
Вызывайте эту функцию для записи заданного значения в заданную секцию реестра или .INI файл. Записи сохраняются следующим образом: В Windows NT, значение сохраняется в ключ реестра. В Windows 3.x, значение сохраняется в WIN.INI файл. В Windows 95, значение сохраняется в скрытую версию WIN.INI файла. Пример CString strSection = "Моя секция"; CString strStringItem = "Мой строковый элемент"; CString strIntItem = "Мой целый элемент"; CWinApp* pApp = AfxGetApp(); pApp->WriteProfileString(strSection, strStringItem, "test"); CString strValue; strValue = pApp->GetProfileString(strSection, strStringItem); ASSERT(strValue == "test"); pApp->WriteProfileInt(strSection, strIntItem, 1234); int nValue; nValue = pApp->GetProfileInt(strSection, strIntItem, 0); ASSERT(nValue == 1234); CWinApp::WriteProfileStringCWinApp::WriteProfileString BOOL WriteProfileString( LPCTSTR lpszSection, LPCTSTR lpszEntry, LPCTSTR lpszValue ); Возвращаемое значение: Не 0 в случае удачного вызова функции, иначе 0. Параметры
Вызывайте эту функцию для записи заданной строки в заданную секцию реестра или .INI файл. Записи сохраняются следующим образом: В Windows NT, значение сохраняется в ключ реестра. В Windows 3.x, значение сохраняется в WIN.INI файл. В Windows 95, значение сохраняется в скрытую версию WIN.INI файла. Пример CString strSection = "Моя секция"; CString strStringItem = "Мой строковый элемент"; CString strIntItem = "Мой целый элемент"; CWinApp* pApp = AfxGetApp(); pApp->WriteProfileString(strSection, strStringItem, "test"); CString strValue; strValue = pApp->GetProfileString(strSection, strStringItem); ASSERT(strValue == "test"); pApp->WriteProfileInt(strSection, strIntItem, 1234); int nValue; nValue = pApp->GetProfileInt(strSection, strIntItem, 0); ASSERT(nValue == 1234); Ну вот в общем и все. Если есть какие-нибудь замечание и пожелания - пишите - dmweb@newmail.ru |
Форум Программиста
Новости Обзоры Магазин Программиста Каталог ссылок Поиск Добавить файл Обратная связь Рейтинги
|