FoxPro Club Главная

Конференция Решения Фотоальбом Сайт М.Дроздова Статьи Файловый архив Книга Visual FoxPro 9.0 Русский Help для Visual FoxPro
Пользователей: 9176
Вход
Как получить данные из реестра

Как получить данные из реестра, пример работы с реестром


 
Прислал: A.Пинигин   Категория: Разное


Как получить данные из реестра

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

#define HKEY_LOCAL_MACHINE 0x80000002
#define KEY_READ 0x00020019
#define ERROR_SUCCESS 0
DECLARE INTEGER RegOpenKeyEx IN ADVAPI32;
INTEGER HKLM, STRING SubKey, INTEGER Dummy, INTEGER Access,ж
INTEGER @hKey
DECLARE INTEGER RegCloseKey IN ADVAPI32 INTEGER
DECLARE INTEGER RegQueryValueEx IN ADVAPI32;

INTEGER hKey, STRING ValueName, INTEGER Dummy, INTEGER Type,;
STRING Data, INTEGER @Size

* это ветвь реестра, в которой находится интересующий нас параметр
SubKey="System\CurrentControlSet\control\Print\Printers\"+PrinterName
* Открываем эту ветвь и получаем её handle
IF RegOpenKeyEx(HKEY_LOCAL_MACHINE,SubKey,0,KEY_READ,@hKey) !=
ERROR_SUCCESS
MESSAGEBOX("Не удаётся получить параметры настройки принтера "+;
"из системного реестра.",16,"Печать")

RETURN
ENDIF
* "Default DevMode" - это название параметра, значение которого я хочу
* получить. Сначала определяем, сколько памяти нам нужно зарезервировать,
* чтобы принять этот параметер
nSize=0
RegQueryValueEx(hKey,"Default DevMode",0,0,0,@nSize)
* Резервируем память
DevMode=SPACE(nSize)
* Теперь считываем значение параметра
RegQueryValueEx(hKey,"Default DevMode",0,0,@DevMode,@nSize)
* Заканчиваем работать с реестром
RegCloseKey(hKey)

*
dmOrientation=ASC(SUBSTR(DevMode,45,1)) && 1 - книжная; 2 - альбомная
dmPaperSize=ASC(SUBSTR(DevMode,47,1)) && 8 - A3; 9 - A4

A.Пинигин, СБОРНИК прибамбасов для VFP по материалам конференций, литературы и собственных разработок. г. Рига E-mail: apinigin@olainfarm.lv
 
Сделайте оценку этого решения Плохо Удовлетворительно Так себе Хорошо Отлично Текущая оценка: (4.999)
Дополнения пользователей
Как получить данные из реестра
[+][?]
[Дополнить]



© 2000-2017 Fox Club 
При размещении любых материалов с сайта на других ресурсах- прямая ссылка на www.foxclub.ru обязательна
Яндекс.Метрика