Avatar billede eht Nybegynder
26. februar 2007 - 17:30 Der er 5 kommentarer og
1 løsning

Delphi og Windows Vista Administrator (AUC)

Kan nogen forklare mig, hvordan man håndterer brugerrettigheder i Windows Vista.

Hvordan kan man aflæse om programmet kører med administrator rettigheder. Det fungerer ikke som under XP.
Jeg bruger normalt denne kode under XP:

function IsAdministrator: Boolean;
var
  hAccessToken: THandle;
  ptgGroups: PTokenGroups;
  dwInfoBufferSize: DWORD;
  psidAdministrators: PSID;
  x: Integer;
  bSuccess: BOOL;

const
  SECURITY_NT_AUTHORITY: TSIDIdentifierAuthority =
    (Value: (0, 0, 0, 0, 0, 5));
  SECURITY_BUILTIN_DOMAIN_RID = $00000020;
  DOMAIN_ALIAS_RID_ADMINS = $00000220;

begin

  Result  := False;
  bSuccess := OpenThreadToken(GetCurrentThread, TOKEN_QUERY, True,
    hAccessToken);
  if not bSuccess then
  begin
    if GetLastError = ERROR_NO_TOKEN then
      bSuccess := OpenProcessToken(GetCurrentProcess, TOKEN_QUERY,
        hAccessToken);
  end;
  if bSuccess then
  begin
    GetMem(ptgGroups, 1024);
    bSuccess := GetTokenInformation(hAccessToken, TokenGroups,
      ptgGroups, 1024, dwInfoBufferSize);
    CloseHandle(hAccessToken);
    if bSuccess then
    begin
      AllocateAndInitializeSid(SECURITY_NT_AUTHORITY, 2,
        SECURITY_BUILTIN_DOMAIN_RID, DOMAIN_ALIAS_RID_ADMINS,
        0, 0, 0, 0, 0, 0, psidAdministrators);
      {$R-}
      for x := 0 to ptgGroups.GroupCount - 1 do
        if EqualSid(psidAdministrators, ptgGroups.Groups[x].Sid) then
        begin
          Result := True;
          Break;
        end;
      {$R+}
      FreeSid(psidAdministrators);
    end;
    FreeMem(ptgGroups);
  end;
end;

Denne funktion returnerer TRUE uanset om der er højreklikket og valgt "Kør som administrator" eller ej (under Vista)

Hvordan kan man sørge for at programmet spørger om at få lov til at køre med administrator rettigheder.
Avatar billede eht Nybegynder
28. februar 2007 - 20:13 #1
Ups. Det hedder ikke AUC, men UAC = User Account Control
Avatar billede psycosoft-funware Nybegynder
01. marts 2007 - 08:43 #2
dette skulle kunne hjælpe dig i gang: http://www.megaupload.com/?d=4HAQQJS0 :)
Avatar billede psycosoft-funware Nybegynder
06. marts 2007 - 20:14 #3
nogen updates?
Avatar billede eht Nybegynder
06. marts 2007 - 20:47 #4
Det ser fint ud.
Giv et svar.
Avatar billede psycosoft-funware Nybegynder
11. marts 2007 - 10:40 #5
ok :)
Avatar billede psycosoft-funware Nybegynder
11. marts 2007 - 10:41 #6
...
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester