| 
| 
 | Вопрос # 3 580/ вопрос открыт / | 
 |  Доброго времени суток, уважаемые эксперты!Была нужда залезть в реестр и посмотреть список наличных СОМ портов. Под XP все работало. Но попался заказчик, у которого на машинах стоят W2000, которым это не понравилось.
 Первым делом, посоветовали их системному администратору открыть доступ к нужной ветке реестра. Но все-таки хотелось бы спросить у - существует ли способ решить проблему из приложения, не привлекая местных администраторов? Сразу должен сказать, что сам в виндах плохо ориентируюсь, поэтому хорошо бы простым языком, чтобы любому крестьянину понятно было.
 Код функции доступа в приложении.
 Приложение:Переключить в обычный режим procedure Get_COMs_Name(var Ports : TStrings); var  buf: TStrings;  reg: TRegistry;  i: Integer;begin  reg := TRegistry.Create;  reg.RootKey := HKEY_LOCAL_MACHINE;  reg.OpenKey('hardwaredevicemapserialcomm', false);  buf := TStringList.Create;  buf.Clear;  Ports.Clear;  reg.GetValueNames(buf);  for i := 0 to buf.Count - 1 do    Ports.Add(reg.ReadString(buf.Strings[i]));  reg.CloseKey;  reg.free;  buf.Free;end;
|  |   Вопрос задал: ttron (статус: Посетитель)Вопрос отправлен: 24 декабря 2009, 10:37
 Состояние вопроса: открыт, ответов: 1.
 |  Ответ #1. Отвечает эксперт: Мережников Андрей Здравствуйте, ttron!Попробуйте вот этот совет из DelphiWorld:
 Проблема вызвана тем, что TRegistry всегда открывает реестр с параметром KEY_ALL_ACCESS (полный доступ), даже если необходим доступ KEY_READ (только чтение). Избежать этого можно используя вместо TRegistry.OpenKey - TRegistry.OpenKeyReadOnly
 
|  | Ответ отправил: Мережников Андрей (статус: Абитуриент)Время отправки: 24 декабря 2009, 19:50
 Оценка за ответ: 5
 Комментарий к оценке: Спасибо. Это помогло :) |  
 Мини-форум вопросаВсего сообщений: 1; последнее сообщение — 24 декабря 2009, 10:59; участников в обсуждении: 1. 
|   | min@y™ (статус: Доктор наук), 24 декабря 2009, 10:59 [#1]:Видать, под ХР ты отлаживал с правами администратора. А под 2к - без них. А для доступа к разделу HKLM нужны соответствующие права и под ХР, и под 2к. Делаю лабы и курсачи по Delphi и Turbo Pascal. За ПИВО! Пишите в личку, а лучше в аську. А ещё лучше - звоните в скайп! |  Чтобы оставлять сообщения в мини-форумах, Вы должны авторизироваться на сайте. |