![]() |
|
|
|
|
#1
|
|||
|
|||
|
Моя программа должна запускаться только от имени администратора т.е. при запуске без прав будет сообщение: "Ошибка! Запустите программу от имени администратора".
P.S. Уже весь инет облазил, нечего не нашел. |
|
#2
|
||||
|
||||
|
Проверка на одмина из drkb
Код:
const
SECURITY_NT_AUTHORITY: TSIDIdentifierAuthority = (Value: (0, 0, 0, 0, 0, 5));
function CheckTokenMembership(TokenHandle: THandle; SidToCheck: pointer;
var IsMember: BOOL): BOOL; stdcall;
external advapi32 Name 'CheckTokenMembership';
function IsAdmin: boolean;
var
PSIDAdmin: PSID;
bSuccess: BOOL;
begin
Result:= false;
bSuccess:= AllocateAndInitializeSid(SECURITY_NT_AUTHORITY, 2,
$00000020, $00000220, 0, 0, 0, 0, 0, 0, PSIDAdmin);
if bSuccess then
if CheckTokenMembership(0, PSIDAdmin, bSuccess) then Result:= bSuccess;
FreeSid(PSIDAdmin);
end; |
| Этот пользователь сказал Спасибо Alegun за это полезное сообщение: | ||
zeus7 (27.08.2014)
| ||
|
#3
|
|||
|
|||
|
Цитата:
Спасибо, все работает. |