Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

UAC, registry virtualization.. [D7]


istok ©   (2011-03-18 16:50:00) 

можно ли в delphi7 TRegistry создать с параметром, отключающим uac virtualization (win7)? (в мсдн такой параметр есть, но в tregistry среди параметров вида reg_..  такого нету, delphi7...)


istok   (2011-03-19 01:54:00) [1]

уу..    а как определить наличие uac если вирт. раздел уже создан?


> Не проще ли отключить виртуализацию через локальную политику
> безопасности (или у вас W7 редакции Home)?


мне не для себя, для себя я вообще смысла в uac не вижу)

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


Loginov Dmitry   (2011-03-18 22:27:00) [2]


> запутал меня этот uac...   иногда делаю openkey(.., false)
> + ValueExists и смотрит в реальный hclm а иногда в виртуальный.
> .  


Значит виртуальный раздел был уже создан. В этом случае он и будет использоваться. А если еще не создан, то используется обычный раздел.


> при этом в TM наглядно видно что виртуализация UAC включена
> для этого процесса...


Не проще ли отключить виртуализацию через локальную политику безопасности (или у вас W7 редакции Home)?


istok   (2011-03-18 18:14:00) [3]

при этом в TM наглядно видно что виртуализация UAC включена для этого процесса...


istok   (2011-03-18 18:11:00) [4]


> function CurrentUserIsAdmin: Boolean;
> begin
>  with TRegistry.Create do
>  try
>    RootKey := HKEY_LOCAL_MACHINE;
>    Result := OpenKey('SOFTWARE\Microsoft', False);
>  finally
>    Free;
>  end;
> end;


запускаю под uac - получаю true))


istok   (2011-03-18 18:10:00) [5]

запутал меня этот uac...   иногда делаю openkey(.., false) + ValueExists и смотрит в реальный hclm а иногда в виртуальный..  

такое возможно???


Loginov Dmitry   (2011-03-18 17:33:00) [6]


> но мне хотя бы на чтение иметь права именно в невиртуальный


OpenKeyReadOnly? При этом заранее позаботиться о том, чтобы не допускать создание виртуальных разделов.


istok   (2011-03-18 17:29:00) [7]


> А для чего? Нужно определить, есть ли права админа на запись
> в HCLM?
> Это и без доп. параметров легко сделать. Как-то так:


нет, определить-то я определю, но мне хотя бы на чтение иметь права именно в невиртуальный hclm


Loginov Dmitry   (2011-03-18 17:21:00) [8]


> можно ли в delphi7 TRegistry создать с параметром, отключающим
> uac virtualization (win7)


А для чего? Нужно определить, есть ли права админа на запись в HCLM?
Это и без доп. параметров легко сделать. Как-то так:
function CurrentUserIsAdmin: Boolean;
begin
 with TRegistry.Create do
 try
   RootKey := HKEY_LOCAL_MACHINE;
   Result := OpenKey('SOFTWARE\Microsoft', False);
 finally
   Free;
 end;
end;


istok   (2011-03-18 17:21:00) [9]

я надеялся в TRegistry.Create
но там видимо речь о параметре для реестра вцелом..
http://msdn.microsoft.com/en-us/library/aa965884.aspx


clickmaker   (2011-03-18 17:16:00) [10]

а в какую функцию эта константа должна передаваться?


istok   (2011-03-18 17:11:00) [11]

да, но чему равен REG_KEY_DONT_VIRTUALIZE я так и не нашел))


umbra   (2011-03-18 16:57:00) [12]

добавьте в своем модуле константу и пользуйтесь.


Наверх

Титульная страница Поиск, карта сайта Написать письмо