Entwickler-Ecke

Windows API - Läuft mein Programm mit Admin-Rechten ?


Hochhaus - Fr 21.01.11 02:48
Titel: Läuft mein Programm mit Admin-Rechten ?
Hallo allerseits !

Wie kann ich mit Delphi 6 überprüfen, ob mein Programm mit Administrator-Rechten läuft ? Danke im Voraus für die Antworten !

Gruss,


Hochhaus


Moderiert von user profile iconMartok: Topic aus Sonstiges (Delphi) verschoben am Fr 21.01.2011 um 09:03


jaenicke - Fr 21.01.11 02:53

Ab XP mit der Funktion IsUserAnAdmin aus der Shell32.dll:
http://msdn.microsoft.com/en-us/library/bb776463(v=vs.85).aspx


Hochhaus - Fr 21.01.11 09:21

user profile iconjaenicke hat folgendes geschrieben Zum zitierten Posting springen:
Ab XP mit der Funktion IsUserAnAdmin aus der Shell32.dll:
http://msdn.microsoft.com/en-us/library/bb776463(v=vs.85).aspx


Danke ! Wie binde ich die Shell32.dll in mein Programm ein ?


jaenicke - Fr 21.01.11 09:23

Hier habe ich das im Hauptformular (Main.pas, in FormCreate) benutzt:
http://www.delphi-forum.de/viewtopic.php?t=93084
Bin grad auf Arbeit, sonst würde ich es direkt raussuchen. ;-)


Hochhaus - Fr 21.01.11 18:25

user profile iconjaenicke hat folgendes geschrieben Zum zitierten Posting springen:
Hier habe ich das im Hauptformular (Main.pas, in FormCreate) benutzt:
http://www.delphi-forum.de/viewtopic.php?t=93084
Bin grad auf Arbeit, sonst würde ich es direkt raussuchen. ;-)


Sorry. Ich habe die Stelle trotz längerem Suchen nicht gefunden ...

Gruss, Hochhaus


Delphi-Laie - Fr 21.01.11 18:34

user profile iconHochhaus hat folgendes geschrieben Zum zitierten Posting springen:
Wie kann ich mit Delphi 6 überprüfen, ob mein Programm mit Administrator-Rechten läuft ? Danke im Voraus für die Antworten !


Was soll mit Administratorrechten laufen - Delphi 6 oder eines seiner Compilate?

Falls letzteres: Mit einem Modulschnappschuß (CreateToolhelp32Snapshot(TH32CS_SNAPMODULE,<Process-ID>) eines möglichst "systemnahen" Prozesses (mit möglichst niedriger Prozeß-ID, aber größer als 0, so z.B. mit der ID 8 (Systemprozeß). Liefert das folgende Module32First einen boolschen Rückgabewert gleich true, dann hat das Programm Administratorrechte, anderenfalls nicht.


Dude566 - Fr 21.01.11 18:42

user profile iconHochhaus hat folgendes geschrieben Zum zitierten Posting springen:
user profile iconjaenicke hat folgendes geschrieben Zum zitierten Posting springen:
Hier habe ich das im Hauptformular (Main.pas, in FormCreate) benutzt:
http://www.delphi-forum.de/viewtopic.php?t=93084
Bin grad auf Arbeit, sonst würde ich es direkt raussuchen. ;-)


Sorry. Ich habe die Stelle trotz längerem Suchen nicht gefunden ...

Gruss, Hochhaus


Wie er sagte in der Main.pas und dort im FormCreate. :roll:


Hochhaus - Fr 21.01.11 19:31

user profile iconDude566 hat folgendes geschrieben Zum zitierten Posting springen:
user profile iconHochhaus hat folgendes geschrieben Zum zitierten Posting springen:
user profile iconjaenicke hat folgendes geschrieben Zum zitierten Posting springen:
Hier habe ich das im Hauptformular (Main.pas, in FormCreate) benutzt:
http://www.delphi-forum.de/viewtopic.php?t=93084
Bin grad auf Arbeit, sonst würde ich es direkt raussuchen. ;-)


Sorry. Ich habe die Stelle trotz längerem Suchen nicht gefunden ...

Gruss, Hochhaus


Wie er sagte in der Main.pas und dort im FormCreate. :roll:



Danke ! Ich hätte besser lesen sollen ... Es funktioniert.


Delete - Fr 21.01.11 22:18

Man sollte aber auch die Remarks Section in der MSDN Dokumentation beachten!


jaenicke - Fr 21.01.11 22:21

Mit der empfohlenen Funktion habe ich es bisher allerdings noch nicht hinbekommen. Es hat dann immer aus irgendwelchen Gründen nicht immer funktioniert. Deshalb benutze ich eben doch den Wrapper. Ich hatte auch bisher nicht die Muße mich länger mit der Alternative zu beschäftigen.