Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 2009.09.20;
Скачать: [xml.tar.bz2];

Вниз

HKEY_CURRENT_USER и юзеры   Найти похожие ветки 

 
Цукор5   (2009-07-15 15:30) [0]

Так вот, если я размещу здесь свою "ветку" с некоторыми значениями будет ли любой пользователь видеть эти значения ?
Рассмотрим случаи :
1) на ПК несколько пользователей. Какой-то из них залогинился. Увидит ли он "ветку" со значениями ?
2) ПК загрузился до момента ввода юзера(ничего не вводим). Стартует служба и обращается к реестру в мою "ветку". Что будет ?

P.S. Долго проверять. Поэтому и спашиваю. Заранее спасибо!!!


 
Palladin ©   (2009-07-15 15:31) [1]


> Так вот, если я размещу здесь свою "ветку" с некоторыми
> значениями будет ли любой пользователь видеть эти значения
> ?

Нет конечно. С чего ты взял?

1) Нет
2) В какую ТВОЮ ветку? Для него ЕГО веткой будет куст учетной записи под которой он стартовал.


 
Anatoly Podgoretsky ©   (2009-07-15 15:37) [2]

Что значит долго проверять, пару минут потратить, чем долго ждать ответа в форуме, а ведь могут и послать.


 
Игорь Шевченко ©   (2009-07-15 15:39) [3]

у задач от планировщика другой current_user, а именно .DEFAULT


 
Anatoly Podgoretsky ©   (2009-07-15 15:45) [4]

> Игорь Шевченко  (15.07.2009 15:39:03)  [3]

У задач от планировщика можно выбрать пользователя при создании задания.


 
Цукор5   (2009-07-15 15:51) [5]

Спасибо!


 
Цукор5   (2009-07-15 17:30) [6]

Пардон...и последний вопрос.
Соответственно, если я буду наполнять hkey_local_machine то подобных проблем не будет ? Т.е. все юзры будут видеть мою ветку ?


 
TIF ©   (2009-07-15 21:13) [7]

> Соответственно, если я буду наполнять hkey_local_machine
> то подобных проблем не будет ? Т.е. все юзры будут видеть
> мою ветку ?

Нет. Но самая главная проблема - твоя программа должна быть (просто обязана!) запущена с правами администратора

Самая главная ошибка программеров под XP...

PS: лучше в данном случае сохранять не в реестре, а в специальной общей папке для всех пользователей


 
Anatoly Podgoretsky ©   (2009-07-15 22:30) [8]

> TIF  (15.07.2009 21:13:07)  [7]

Чтобы видеть - не требуется.


 
Цукор5   (2009-07-16 00:14) [9]


> PS: лучше в данном случае сохранять не в реестре, а в специальной
> общей папке для всех пользователей


О какой специальной папке идет речь (и как туда программно добраться)?


 
TIF ©   (2009-07-16 03:45) [10]

> Anatoly Podgoretsky ©   (15.07.09 22:30) [8]
> > TIF  (15.07.2009 21:13:07)  [7]Чтобы видеть - не требуется.
>

Что правда, то правда :) Исправляюсь. Прочитать из ветки HKLM можно без прав администратора, но вот записать туда что-то - только с правами...

> О какой специальной папке идет речь (и как туда программно
> добраться)?

Ну, например,
CSIDL_COMMON_APPDATA
("Каталог файловой системы, служащий общим репозиторием данных,         специфичных для приложения для ВСЕХ пользователей")
Windows Vista: C:\ProgramData
Windows XP: C:\Documents and Settings\All Users\Application Data
где C:\ соответственно системный диск

Запоминать эти пути НЕ надо, жёстко задавать их в своей программе НЕ надо, так как они могут оказаться другими, например, если система установлена на диске J

Их надо получать программно :) Пути я дал лишь для того, чтобы туда заглянуть и посмотреть внутреннее устройство (у каждой программы своя папка)

function GetCSIDLFolder(CSIDL: Byte): String;
begin
 SetLength(Result, MAX_PATH);
 if not SHGetSpecialFolderPath(0, PChar(Result), CSIDL, false)
   then Result:="";
end;


Соответственно вызываем
GetCSIDLFolder(CSIDL_APPDATA);
и получаем путь к этой папке

Подробности - в MSDN:
http://msdn.microsoft.com/en-us/library/bb762494(VS.85).aspx

PS:
Начиная с Windows Vista рекомендуется использовать Known Folders, но этот момент я затрагивать не буду, потому что в висте (и в Windows 7) есть обратная совместимость, поэтому и определение через CSIDL там прекрасно сработает :)

PPS: дополнение для любознательных
индивидуальная папка конкретного пользователя - CSIDL_APPDATA
Windows Vista: C:\Users\Пользователь\AppData\Roaming
Windows XP: C:\Documents and Settings\Пользователь\Application Data

Ещё в CSIDL_APPDATA можно попасть написав в адресной строке любой открытой папки %appdata% и нажав Enter ;-)


 
TIF ©   (2009-07-16 03:47) [11]

> Соответственно вызываем GetCSIDLFolder(CSIDL_APPDATA);

В этом примере надо так:
GetCSIDLFolder(CSIDL_COMMON_APPDATA);

COMMON - "общий", то есть общая для всех папка

В PPS предыдущего сообщения описана разница :)



Страницы: 1 вся ветка

Форум: "Начинающим";
Текущий архив: 2009.09.20;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.48 MB
Время: 0.004 c
1-1215704618
badevlad
2008-07-10 19:43
2009.09.20
Список Keyword ов из CHM-help файла


1-1215755404
МистерТ
2008-07-11 09:50
2009.09.20
Подмена Application динамической библиотеки


4-1217601873
Bakl
2008-08-01 18:44
2009.09.20
Возможно ли средствами Делфи определить модель устройства.


15-1248178884
картман
2009-07-21 16:21
2009.09.20
Структура БД.


15-1248171535
Jeer
2009-07-21 14:18
2009.09.20
ГИС по китайски





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский