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

Вниз

Как в NT-ях разрешить программе редактировать реестр текущего пользователя?   Найти похожие ветки 

 
Nomad   (2001-12-31 18:30) [4]

Мда.. кто чем занят в новогоднюю ночь..

Написал я процедурки доставания SIDа.. Может, кому пригодится..


function Sid2Text(ps:PSID):string;

var

psia:PSIDIDENTIFIERAUTHORITY;
dwSubAuthorities,i:word;
dwSidRev:word;

begin

if IsValidSid(ps) then

begin
psia:= GetSidIdentifierAuthority(ps);

dwSubAuthorities:=GetSidSubAuthorityCount(ps)^;
dwSidRev:=1;

result:="S-"+inttostr(dwSidRev);
with psia^ do
if (value[0]<>0) and (value[1]<>0) then
for i:=0 to 5 do result:=result+inttostr(value[i]) else
result:=result+"-"+inttostr(Value[5]+(Value[4] shl 8)+(Value[3] shl 16)+(Value[2] shl 24));

for i:=0 to dwSubAuthorities-1 do
result:=result+"-"+inttostr(GetSidSubAuthority( ps, i )^);

end;
end;

Procedure GetCurrentSid(var S:PSID);


var

ReferencedDomain:LPSTR;

cbSid,cbReferencedDomain:DWORD;
peUse:SID_NAME_USE;
begin
cbSID:=128;
cbReferencedDomain:=16;
GetMem(S,cbsid);
GetMem(ReferencedDomain,cbReferencedDomain);

LookupAccountName("","User",S,cbSID,ReferencedDomain,cbReferencedDomain,peUse);

FreeMem(ReferencedDomain);

end;

var
sid: PSID;

begin
getcurrentsid(sid);
MessageDlg(sid2text(sid),mtInformation,[mbOK],0);
if sid<>nil then FreeMem(sid);
end.


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



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

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

Наверх





Память: 0.44 MB
Время: 0.005 c
4-367
mishaa1
2002-01-31 01:21
2002.04.01
win api


3-8
Андре
2002-03-04 12:10
2002.04.01
BLOB


1-99
Ivan_A
2002-03-21 03:11
2002.04.01
Как получить доступ к модулю данных из DLL?


4-342
kiber
2002-01-31 01:17
2002.04.01
win api


1-81
KvORubin
2002-03-18 15:07
2002.04.01
RichEdit - как в нём отобразить непечатаемые символы (как в M.Office) (часть 2я)





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский