Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2007.11.11;
Скачать: CL | DM;

Вниз

Определение прав пользователя   Найти похожие ветки 

 
periskops   (2007-10-18 21:49) [0]

Добрый вечер, не подскажите как программно определить под какими правами запущена прога (XP, Vista)  - под админ. или ограниченными правами юзверя.


 
Jump   (2007-10-18 22:46) [1]

под какими правами запущена прога (XP, Vista)  - под админ. или ограниченными правами юзверя

Для начала расскажи, что ты думаешь по поводу того, что такое "админ" и что такое "ограниченные права юзверя"?


 
periskops   (2007-10-18 23:20) [2]

2Jump - не умничай если не знаешь..

одно на уме используя  TRegistry  открыть HKEY_LOCAL_MACHINE


 
Jump   (2007-10-18 23:31) [3]

periskops   (18.10.07 23:20) [2]

Знаю. Поэтому и умничаю. Потому что ты сморозил чепуху. Я - дал тебе наводящий вопрос. Ты его проигнорировал. Да еще и хамить начал. Можешь продолжать и дальше в том же духе. Но, до тех пор, пока не сформулируешь четко вопрос - ответа не получишь. Ни от меня, ни от кого-либо другого.

одно на уме

Сдается мне, у тебя на уме совсем другое...

открыть HKEY_LOCAL_MACHINE

Колумб, однако...


 
periskops   (2007-10-18 23:59) [4]

2Jump да без обид ;)

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

возможно я и далёк, так как чётче не могу сформулировать вопрос (:
для работы программе необходимо работать с реестром, писать в system32 и т.п. поэтому необходимо при запуске определиться что у меня есть права администратора. всякие моменты, типа и администратора можно ограничить в чем-то или тот же каспер всё таки не даст - не в счёт.
я думал может есть какая та же айпишная функция типа getRunningStatus или типа того ;)

з.ы.
прошу прощения если в чём то обидел..
за наводящие вопросы спасибо - но я пока без руля, кроме как открыть Америку ;)  и по результатам судить уже...


 
Skyle ©   (2007-10-19 08:01) [5]

Ну так надо просто проверить возможность необходимых действий при запуске и всё.

Например попробовать получить список файлов из System32, прочитать ключ реестра и так далее. Если будет отлуп - возмутиться.

Хотя это странно на самом деле.

А вообще есть функция IsUserAnAdmin
Tests whether the current user is a member of the Administrator"s group.


 
maverik   (2007-10-19 09:00) [6]

спасибо Skyle!
то что надо, не то что джамп с наводящими вопросами (:

implementation
function IsUserAnAdmin():boolean; external shell32 name "IsUserAnAdmin";

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
begin
if IsUserAnAdmin then Caption:="да" else Caption:="нет";
end;


 
Skyle ©   (2007-10-19 11:44) [7]

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


 
Правильный_Вася   (2007-10-19 11:55) [8]

http://delphimaster.net/view/2-1192272904/


 
Ins ©   (2007-10-19 11:59) [9]

Насколько я знаю, IsUserAdmin появилась только в XP, так что если есть желание, чтобы программа работала и на NT и на 2000, то нужно:
1. Получить маркер доступа процесса или потока (в случае имперсонации) - OpenProcessToken или OpenThreadToken
2. Получить из маркера список групп - GetTokenInformation
3. Создать SID соответствующий учетной записи группы администраторов - AllocateAndInitializeSid
4. Пройтись в цикле по всем группам из токена и с помощью EqualSid сравнить их с Sid из п.3. Если хотя бы один совпал - значит админ
5. Освободить ресурсы - CloseHandle(Token), FreeSid


 
Ins ©   (2007-10-19 12:00) [10]

Пока писал - код привели :)



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

Текущий архив: 2007.11.11;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.021 c
2-1192184520
inex
2007-10-12 14:22
2007.11.11
усовершенствование цикла


2-1192704764
kuat
2007-10-18 14:52
2007.11.11
3D MAX


2-1192915547
Falcon
2007-10-21 01:25
2007.11.11
Получить дату без года в формате текущих региональных настроек


15-1191092709
Petr V. Abramov
2007-09-29 23:05
2007.11.11
где скачать ридер djvu


9-1162828267
Алена
2006-11-06 18:51
2007.11.11
OpenGl