![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
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]добавьте в своем модуле константу и пользуйтесь.