Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
лаба5.doc
Скачиваний:
4
Добавлен:
12.11.2019
Размер:
976.9 Кб
Скачать

1.3. Занесения значения параметра раздела реестра

Для занесения параметра раздела реестра необходимо использовать функцию RegSetValueEx. Функция RegSetValueEx сохраняет значение параметра в открытом разделе.

LONG RegSetValueEx(

HKEY hKey, // дескриптор раздела

LPCTSTR lpValueName, // название параметра для установки

DWORD Reserved, // зарезервировано

DWORD dwType, // тип значения

CONST BYTE *lpData, // указатель на значение

DWORD cbData // размер значения

);

hKey - дескриптор открытого раздела или любое из предопределенных значений дескрипторов

HKEY_CLASSES_ROOT

HKEY_CURRENT_USER

HKEY_LOCAL_MACHINE

HKEY_USERS

lpValueName - указывает на строку, содержащую название параметра для установки, если такого параметра пока не существует, то создает его.

Reserved - зарезервировано, должно быть равным нулю.

dwType - тип заносимого значения (см. RegQueryValueEx)

lpData - указывает на буфер с данными, которые будут хранится в данном параметре

cbData - размер значения в байтах

Возвращает ERROR_SUCCESS в случае успешного завершения, в противном случае возвращает ненулевой код ошибки.

Пример вызова:

RegSetValueEx(hKeyRes, ValueName, NULL, REG_SZ, (unsigned char*)s_key, lstrlen(s_key));

После того, как работа с разделом завершена, его следует закрыть с помощью функции RegCloseKey. Функция RegCloseKey освобождает дескриптор заданного раздела.

LONG RegCloseKey( HKEY hKey

// дескриптор открытого раздела для закрытия

);

1.4. Закрытие раздела

В случае успешного завершения возвращает ERROR_SUCCESS, в противном случае возвращает ненулевой код ошибки.

Пример вызова:

/* закрытие раздела реестра */

RegCloseKey(hKeyRes);

1.5. Удаление раздела

Если какой-то раздел уже не требуется вашей программе, его можно удалить с помощью функции RegDeleteKey. Функция RegDeleteKey удаляет раздел и его потомков.

LONG RegDeleteKey(

HKEY hKey, // дескриптор раздела

LPCTSTR lpSubKey // указатель на имя подраздела для удаления

);

hKey - дескриптор открытого раздела или любое из предопределенных значений дескрипторов

HKEY_CLASSES_ROOT

HKEY_CURRENT_USER

HKEY_LOCAL_MACHINE

HKEY_USERS

lpSubKey - указатель на строку, оканчивающуюся нулевым символом, определяющую раздел для удаления, являющийся подразделом hKey. Этот параметр не может быть равен нулю и заданный раздел не может иметь подразделов.

В случае успешного завершения возвращает ERROR_SUCCESS, в противном случае ненулевой код ошибки.

Пример вызова:

/* удаление раздела реестра */

/* параметры

1 - раздел

2 - подраздел

*/

RegDeleteKey (HKEY_LOCAL_MACHINE, SubKey);

2. Диалоговые окна. Определение и назначение

Диалоговое окно представляет собой разновидность окна, в котором пользователю представляется больше возможностей для взаимодействия с приложением. В общем случае, благодаря диалоговым окнам можно выбрать или ввести информацию, которую трудно или вообще невозможно ввести с помощью меню.

Взаимодействие между пользователем и диалоговым окном осуществляется с помощью элементов управления. Элемент управления - особый тип окна ввода или вывода. Он принадлежит окну-владельцу, которым является диалоговое окно. Все версии Windows поддерживают несколько базовых элементов управления, к которым относятся кнопки, контрольные переключатели, селекторные кнопки, списки, поля ввода(редакторы), комбинированные списки, полосы прокрутки и статические элементы и т.д.

Есть два типа диалоговых окон: модальные и немодальные. Наиболее распространенными являются первые. В модальных диалоговых окнах ожидается некоторое действие со стороны пользователя, прежде чем программа сможет продолжить выполнение. Т.е. вы не сможете продолжить работу, пока не нажмете на одну из кнопок в модальном окне, которое вызовет его закрытие. Немодальное диалоговое окно не приостанавливает выполнение программы. Имеется в виду, что в нем не требуется выполнение какого-либо действия для того, чтобы управление было передано другой части программы.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]