powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Помогите с реестром винды
16 сообщений из 16, страница 1 из 1
Помогите с реестром винды
    #33215763
Недоходящий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В фоксе и режиме пользователя админ запускаю RegOpenKeyEx(HKEY_CURRENT_USER,sub_key_c1,0,security_access_mask,@lnResult) для управления реестром. все работает.

Но при других режимах Power User, Guest и т.д. оно не хочет довать доступ к реестру.

Как эту проблему устранить?
...
Рейтинг: 0 / 0
Помогите с реестром винды
    #33216154
Фотография FM32YO aka KID
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
дык только админ имеет право в реестре копаться, а гость ИМХО никак, если только ему права админа не дать.
хотя на 100% не знаю - это 1-е что в голову пришло
...
Рейтинг: 0 / 0
Помогите с реестром винды
    #33216421
Недоходящий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Power User - разве не имеет право на редоктирование реестра через прогу (Power User выбирается с базывими настройками винды)?
...
Рейтинг: 0 / 0
Помогите с реестром винды
    #33216433
Проходящий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Смотря какие ветки.
...
Рейтинг: 0 / 0
Помогите с реестром винды
    #33217042
Недоходящий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Меня интересуют ветки связанные с ODBC. Это ввод в реестр любых значении созданного драйвера (USERDSN).
...
Рейтинг: 0 / 0
Помогите с реестром винды
    #33217344
gotko
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
тут надо копаться в локальной политике на компе...
...
Рейтинг: 0 / 0
Помогите с реестром винды
    #33217638
Igor Korolyov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Hi Недоходящий!

sub_key_c1 что содержит то? "Ручками" в данный ключ можно зайти из Regedit
под указанным аккаунтом? АПИшную GetLastError не пробовал применить, чтобы
узнать что же за ошибка произошла?

Posted via ActualForum NNTP Server 1.2
...
Рейтинг: 0 / 0
Помогите с реестром винды
    #33218107
Недоходящий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Hello Igor Korolyov!

sub_key_c1 = "Software\ODBC\ODBC.INI\"+fsql1
где fsql1 - любое название которое нужно создать или потом с него считывать.

но ошибки я смотрю никакой не выползает. просто винда не дает разрешения на открытия выбранной ветки и код продолжается выполняться дальше.

GetLastError - выдает 127. Че ето значит?
...
Рейтинг: 0 / 0
Помогите с реестром винды
    #33219335
Igor Korolyov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Hi Недоходящий!

Упс, стормозил тут надо смотреть что сама функция возвращает - это и есть
код ошибки.
Кстати зачем тебе Ex версия функции, как ты формируешь маску доступа, чем не
устраивает простая RegOpenKey() Ну и ясное дело нужно знть что в fsql1
содержится, есть ли такая ветка, какие установлены на неё Permissions на
тестовой машине и т.п.
В общем более полный код приведи.

Posted via ActualForum NNTP Server 1.2
...
Рейтинг: 0 / 0
Помогите с реестром винды
    #33220120
Недоходящий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Hello Igor Korolyov.
RegOpenKey() я не нашел описания. Только для RegOpenKeyEx.
Вот код

fsql1 = "а" && Это нужно создать в реестре

* Объявление необходимых переменных для работы с реестром
REG_SZ = 1
HKEY_CLASSES_ROOT = -2147483648
HKEY_CURRENT_USER = -2147483647
HKEY_LOCAL_MACHINE = -2147483646
HKEY_USERS = -2147483645
security_access_mask = 983103
security_access_mask_set = 2
* Декларирование необходимых функций
declare RegCreateKeyEx in advapi32.dll integer, string, integer, string, integer, integer, integer, integer @, integer @
declare RegOpenKeyEx in advapi32.dll integer, string, integer, integer, integer @
declare RegQueryValueEx in advapi32.dll integer, string, integer, string, string, integer @
DECLARE INTEGER RegSetValueEx IN advapi32.dll INTEGER,STRING, INTEGER,INTEGER,STRING @,INTEGER
DECLARE INTEGER RegCloseKey IN advapi32.dll INTEGER


sub_key_c1 = "Software\ODBC\ODBC.INI\"+fsql1
sub_key_c1_1 = "Software\ODBC\ODBC.INI\ODBC Data Sources"

* Анулирование необходимых переменных для декларированных функций
name_c = ""
lnResult_c=0
Disposition_c=0
lnResult = 0

RegCreateKeyEx(HKEY_CURRENT_USER,sub_key_c1,0,name_c,0,security_access_mask,0,@lnResult_c,@Disposition_c)

chan_c2='driver'
buff_2="C:\WINNT\System32\SQLSRV32.dll"
RegOpenKeyEx(HKEY_CURRENT_USER,sub_key_c1,0,security_access_mask,@lnResult)

RegSetValueEx(lnResult,chan_c2,0,reg_sz,@buff_2,40)
chan_c6=fsql1
buff_6="SQL Server"

RegOpenKeyEx(HKEY_CURRENT_USER,sub_key_c1_1,0,security_access_mask ,@lnResult)
* Так вот! Здесь при запросе открытия lnResult получает 0. Если ноль то винда дала отказ открытия данной ветки для внесения туда чего-либо. А требуется как-то получить положительное число. В первом открытии число получается, а здесь 0!
RegSetValueEx(lnResult,chan_c6,0,reg_sz,@buff_6,15)
...
Рейтинг: 0 / 0
Помогите с реестром винды
    #33221975
Igor Korolyov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Hi Недоходящий!

1) Посмотри в MSDN online

LONG RegOpenKey(
HKEY hKey,
LPCTSTR lpSubKey,
PHKEY phkResult
);

Ну и другие "упрощённые" функции тоже посмотри.
2) РЕЗУЛЬТАТЫ от каждого вызова Reg* смотри - если там не 0 - то это и есть
код ошибки. Сами "расшифровки" кодов можно получить через АПИ функцию
FormatMessage или просто посмотреть в winerror.h - если стоит MS VC++, BCB
или иное сишное средство разработки, или просто есть заголовочные файлы.

Posted via ActualForum NNTP Server 1.2
...
Рейтинг: 0 / 0
Помогите с реестром винды
    #33223154
Недоходящий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
TO Igor Korolyov

Файла ошибок у меня нет (если омжете кинуть на мыло или дать сылку было бы просто здорово). НА MSDN еще в поисках, но пока не нахожу. А при запуске проги почему-то выводится число больше 0 и ветка создается. Почему, если любое число это ошибка?
...
Рейтинг: 0 / 0
Помогите с реестром винды
    #33224201
Igor Korolyov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Hi Недоходящий!

> А при запуске проги почему-то выводится число больше 0 и ветка создается.
> Почему, если любое число это ошибка?

Выводится КАКИМ ИМЕННО из твоей кучи АПИ вызовов? Может как раз создание
значения и не проходит - а ветку создаёт.

Posted via ActualForum NNTP Server 1.2
...
Рейтинг: 0 / 0
Помогите с реестром винды
    #33224837
Недоходящий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
To Igor Korolyov

Фокс выводит при ф-ции Create - 0
в первом открытии ветки - 544
во втором - 588.
Но при последующих запусках числа меняются на разные величины!
...
Рейтинг: 0 / 0
Помогите с реестром винды
    #33226784
Igor Korolyov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Hi Недоходящий!

Ты не понял...
1) Декларации нужно изменить, чтобы ВСЕ функции были объявлены как
возвращающие INTEGER.
2) Интересует ИМЕННО то что возвращает КАЖДАЯ функция (а она НЕ МОЖЕТ
возвращать ни 544 ни 588 - т.к. это некорректные коды ошибок), а не то какое
значение принимает параметр переданный по ссылке.
3) DSN создаются НЕ путём записи чего-то в реестр, а через вызов
соответствующего АПИ - в частности SQLConfigDataSource из библиотеки
ODBCCP32.DLL - примеры использования из фокса найти нетрудно.
4) Вообще в подавляющем большинстве случаев DSN как таковые НЕ НУЖНЫ - т.к.
можно просто использовать строку соединения включающую имя драйвера и прочие
атрибуты соединения.
5) Вообще работать нужно хотя-бы АККУРАТНО - в частности если уж создал
хендл к ключу реестра, то не поленись и ЗАКРЫТЬ его по завершении работы.
6) В поставке VFP есть FFC класс registry (как в виде prg так и в виде
vcx) - это обёртка над соответствующими функциями упрощающая работу. Если
хочешь сам работать с АПИ, то хотя-бы изучи как это сделано в данном классе.

Posted via ActualForum NNTP Server 1.2
...
Рейтинг: 0 / 0
Помогите с реестром винды
    #33227281
Недоходящий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
To Igor Korolyov

По поводу строки соединения я согдасен, это я тоже использую. Но мне в ближайшее время понадобиться работа с реестром, поэтому я заранее спрашиваю чтоб решить все вопросы. А с фоксом я не так долго работаю, поэтому многих вещей не знаю. Закрытее веток я забыл дописать, они у меня в проге есть. За файл спасибо, ща зделаю и посмотрб что получится.
...
Рейтинг: 0 / 0
16 сообщений из 16, страница 1 из 1
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Помогите с реестром винды
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]