Das OFFIZIELLE PROFAN SUPPORT FORUM
Einsteigerfragen
PROFAN-Programmierung
Helfer & Tools
Anregungen & Vorschläge
PROFAN-NEWS
Die Regeln!
1 - Einsteigerfragen

 Neues Thema  |  Zur Übersicht  |  Suchen  |  Einloggen   Vorherige Nachricht  |  Nächste Nachricht 
 Re: WriteIni // Admin-Rechte anfordern
Autor: Jens-Arne Reumschüssel (---.dip0.t-ipconnect.de)
Datum:   18.07.19 20:35

Hallo Carina,

wenn Du Dein Programm mit Admin-Rechten ausführen möchtest (wenn es umbedingt HKLM sein soll), geht das am einfachsten mit einem Starterprogramm, welches das Hauptprogramm startet und dabei die entsprechenden Rechte anfordert (es gibt noch andere Methoden, aber die sind komplizierter, z.B. über Manifeste):

Starter-Programm:
 @shellexec("Hauptprogramm.exe","runas",1)
 end
 


Hauptprogramm (muss natürlich kompiliert als exe vorliegen und in diesem Beispiel »Hauptprogramm.exe« heißen):
 cls
 if @checkadminrechte()=1
   print "Dieses Programm läuft mit Administratorrechten."
 else
   print "Dieses Programm läuft nur mit Userrechten."
 endif
 waitinput
 end
 
 PROC CheckAdminRechte 'Rückgabe: 1=Admin, 0=kein Admin, 99=Fehler (falsche Windows-Version)
   declare member&,SID#,mhandle&,module$,function$,erg%
   module$="advapi32.dll"
   function$="CheckTokenMembership"
   mhandle&=@external("kernel32.dll","GetModuleHandleA",@addr(module$))
   if @external("kernel32.dll","GetProcAddress",mhandle&,@addr(function$))<>0
     dim SID#,16
     long SID#,0=513
     long SID#,4=83886080
     long SID#,8=32
     long SID#,12=544
     @external("advapi32.dll","CheckTokenMembership",0,SID#,@addr(member&))
     if member&=1
       erg%=1
     else
       erg%=0
     endif
     dispose SID#
   else
     erg%=99
   endif
   return erg%
 ENDPROC 'CheckAdminRechte
 


Beste Grüße, Jens-Arne

--- bearbeitet: CheckAdminRechte hinzugefügt, weil es gut passt (der Inhalt dieser Funktion ist nicht überwiegend von mir, ich weiß aber auch nicht mehr, woher ich das hatte)



Nachricht bearbeitet (18.07.19 20:50)

 Beitrag beantworten  |  Foren-Liste  |  Alle Antworten   Neuerer Beitrag  |  Älteres Thema 

 Beiträge Autor  Datum
 WriteIni  Neu
Carina 20.06.19 21:30 
 Re: WriteIni  Neu
Volkmar Göritz 22.06.19 19:30 
 Re: WriteIni // Admin-Rechte anfordern  Neu
Jens-Arne Reumschüssel 18.07.19 20:35 
 Re: WriteIni // Interpreter mit Adminrechten starten  Neu
Jens-Arne Reumschüssel 18.07.19 21:36 


 Foren-Liste  |  Zur Registrierung 
 Benutzerlogin
 Benutzername:
 Passwort:
 Login-Daten speichern:
   
 Passwort vergessen?
E-Mail-Adresse oder Username unten eingeben. Dann wird Dir per e-Mail ein neues Passwort zugeschickt.

phorum.org