Access 2002

Получение имени параметра


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

Для получения имени параметра воспользуйтесь функцией adh_accRegGet- Val Name. Как и предыдущей, ей передается дескриптор корневого раздела и путь к разделу, который вас интересует. Кроме того, вы должны указать индекс параметра, имя которого вам требуется, передать указатель на буфер для возвращаемой строки, его размер и переменную типа Long, в которую функция может поместить тип параметра (текстовый, числовой или двоичный). Синтаксис вызова adh_accRegGetValName описан в  15.10.

Для удобства использования наших функций мы ввели одно новшество: вместо полного имени корневого раздела реестра вы можете использовать его аббревиатуру, например "HKLM" вместо "HKEY_LOCAL_MACHINE" или "HKCU" вместо "HKEY_CUR- RENTJJSER". В модуле basRegistry вы найдете процедуру GetHKeyFromPath; она заменяет аббревиатуру полным именем корневого раздела.

Перед использованием любой из наших процедур внимательно прочитайте комментарии в них. Некоторые из этих процедур потенциально опасны, особенно adhDeleteRegSetting, которая одним махом может очистить весь ваш реестр.

Если вам нужно предоставить пользователю список установленных в системе шрифтов и их размеров, вам поможет демонстрационный проект данной главы. В предыдущих версиях Access с этой задачей было трудно справиться без посторонней помощи. Обратившись к Windows API, вы бы обнаруживали, что Windows требуется выполнять обратные вызовы, а в Microsoft Office 97 это было невозможно.

Комментарии закрыты