AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Autostart ohne Adminrechte

Ein Thema von supermuckl · begonnen am 30. Aug 2005 · letzter Beitrag vom 5. Dez 2006
Antwort Antwort
Seite 2 von 2     12   
dangerfreak
(Gast)

n/a Beiträge
 
#11

Re: Autostart ohne Adminrechte

  Alt 5. Dez 2006, 18:11
So hab mal zwei functionen geschrieben aber seht selbs:
(bitte nicht aufrechtschreibfehler achten bin ersz 14 )



Delphi-Quellcode:

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

var
  hAccessToken: THandle;
  ptgGroups: PTokenGroups;
  dwInfoBufferSize: DWORD;
  psidAdministrators: PSID;
  x: Integer;
  bSuccess: BOOL;
begin
  Result := False;
  bSuccess:=False;
  ptgGroups:=nil;
  psidAdministrators:=nil;
  try
    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);
      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+}
      end;
    end;
  finally
    if bSuccess then
      CloseHandle(hAccessToken);
    if Assigned(ptgGroups) then
      FreeMem(ptgGroups);
    if Assigned(psidAdministrators) then
      FreeSid(psidAdministrators);
  end;
end;

function CreateAutorunEntry: Boolean;
var
 Reg: TRegistry;
 AKind: TAutorunKind;
begin
 Result:=False;
 Reg := TRegistry.create;
 try
   if IstAdmin = True then
     Reg.RootKey := HKEY_LOCAL_MACHINE
   else
     Reg.Rootkey:= HKEY_CURRENT_USER;
   if Reg.RootKey = HKEY_LOCAL_MACHINE then
      Akind:=akRun;
   if Reg.Rootkey = HKEY_CURRENT_USER then
      AKind:=akUserRun;

   case AKind of
     akRun, akUserRun : Result:=Reg.OpenKey('Software\Microsoft\Windows\CurrentVersion\Run', True);

   end;
   Reg.WriteString({Name des eintages},{Dateipfad});
 finally
   Reg.Free;
 end;
end;
  Mit Zitat antworten Zitat
Win32.API

Registriert seit: 23. Mai 2005
312 Beiträge
 
#12

Re: Autostart ohne Adminrechte

  Alt 5. Dez 2006, 18:26
Warum pushst du einen so alten thread?

Und wenn du die funktionen selber geschrieben hast:
Warum sind dann die variablen im ersten quelltext nach der ungarischen notation benannt und im zweiten nicht mehr?
Warum sind die formatierungen so unterschiedlich?

Kaufe dir naemlich nicht ab, dass du den ersten quelltext selber geschrieben hast

grueße win32
  Mit Zitat antworten Zitat
Benutzerbild von Bernhard Geyer
Bernhard Geyer

Registriert seit: 13. Aug 2002
17.197 Beiträge
 
Delphi 10.4 Sydney
 
#13

Re: Autostart ohne Adminrechte

  Alt 5. Dez 2006, 18:35
Zitat von Win32.API:
Kaufe dir naemlich nicht ab, dass du den ersten quelltext selber geschrieben hast
Vermutlich selbst abgeschrieben denn Hier im Forum suchenIsAdmin-Implementierungen gibts ja einige (sehr ähnliche). Und vor allem ist sie nicht "Vista-Fest"
Windows Vista - Eine neue Erfahrung in Fehlern.
  Mit Zitat antworten Zitat
dangerfreak
(Gast)

n/a Beiträge
 
#14

Re: Autostart ohne Adminrechte

  Alt 5. Dez 2006, 18:56
sry wahrscheinlich habe ich das falsch formuliert, ich hab den quellcode nach meien voestellungen umgeschrieben und an meine bedürfnisse angepasst daher die formatirunegn. ganz alleine hääte ich das nie nie niemals hinbekommen .

mfg dabgerfreak
  Mit Zitat antworten Zitat
dangerfreak
(Gast)

n/a Beiträge
 
#15

Re: Autostart ohne Adminrechte

  Alt 5. Dez 2006, 18:59
übrigens die zweite function createautorunentry ist selber geschrieben
  Mit Zitat antworten Zitat
Win32.API

Registriert seit: 23. Mai 2005
312 Beiträge
 
#16

Re: Autostart ohne Adminrechte

  Alt 5. Dez 2006, 19:20
sieht man auch

und die erste funktion ist nicht veraendert .. naja however ;3
  Mit Zitat antworten Zitat
dangerfreak
(Gast)

n/a Beiträge
 
#17

Re: Autostart ohne Adminrechte

  Alt 5. Dez 2006, 19:28
doch war schon da wurde der rückgabe wert noch irgentwie anders überprüft
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 2     12   


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 09:36 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz