Forum: Win32/Win64 API (native code)
Delphi
by CodeX,
4. Mai 2006
CreateProcessAsLogon ist von Dir! :)
Verwendet wird dabei CreateProcessWithLogonW. Ich hätte meine Frage also eher darauf beziehen sollen.
Forum: Win32/Win64 API (native code)
Delphi
by CodeX,
4. Mai 2006
Mir ist soeben erst bewusst geworden, dass CreateProcessAsLogon nur mit einem lokalen Account funktioniert.
Lässt sich das ganze auch ausweiten, sodass man als in einer Domäne angemeldeter Benutzer auch die Daten eines Administratoraccounts dieser Domäne nutzt?
Forum: Win32/Win64 API (native code)
Delphi
by CodeX,
24. Mär 2006
Die Rechte kann man zb mit IsAdmin prüfen. (Zumindest, ob Admin-Rechte vorhanden sind.)
Aber meiner Meinung nach ist das "Projekt" hier absolut uninteressant, solange es nur mit Win XP richtig funktioniert.
Es sollte noch mindestens Win2000 dazukommen, dann kann man weiter dran arbeiten. Aber das hat ja bisher noch keiner hinbekommen. (?)
Forum: Win32/Win64 API (native code)
Delphi
by CodeX,
10. Mär 2006
habe ich nun mit dem computernamen probiert.
XP: geht
2000: geht nicht
Forum: Win32/Win64 API (native code)
Delphi
by CodeX,
10. Mär 2006
klar, das geht. nachteil ist hier, dass das nicht im laufenden programm geändert werden kann.
um das in einer exe verwenden zu können, muss sich das programm damit selber aufrufen und die aktuelle instanz beenden.
dürfte den programmstart entsprechend verlangsamen.
Forum: Win32/Win64 API (native code)
Delphi
by CodeX,
10. Mär 2006
wir schmeissen hier mit zitatfetzen um uns ... ;)
also hier mal vollständig:
ich habe den code jetzt ausprobiert. unter XP funktioniert das einwandfrei.
unter 2000 jedoch nicht. LogonUser liefert hier false zurück. das wird wohl genau der hinweis sein, den ich als zitat gepostet habe.
kann das bitte jemand auch ausprobieren und bestätigen/dementieren? (btw: als DOMAIN habe ich ''...
Forum: Win32/Win64 API (native code)
Delphi
by CodeX,
10. Mär 2006
ich hab mal ein bisschen geforscht.
jetzt lass mich raten: du arbeitest dabei mit services, richtig?
denn ich habe folgendes gefunden:
und das SE_TCB_NAME kann man sich scheinbar nur als service holen.
Forum: Win32/Win64 API (native code)
Delphi
by CodeX,
10. Mär 2006
sehr gut zu wissen. danke.
aber dann nochmal zum verständnig:
die benutzerrechte werden beim aufruf von LogonUser auf dem gesamten rechner geändern und nicht nur das programm betreffend, oder?
mit RevertToSelf kehrt man ja dann erst zu den normalen rechten zurück.
das würde ja dann bedeuten, dass wenn man beim starten des programmes LogonUser aufruft und beim beenden erst RevertToSelf,...
Forum: Win32/Win64 API (native code)
Delphi
by CodeX,
9. Mär 2006
*weißt* du, ob das sicher (immer) funktioniert, oder ist das nur ein theoretischer ansatz?
ich kenne das wirklich nur so, dass man ein programm mit den richtigen rechten starten kann, nicht aber dessen rechte zur laufzeit ändern kann.
Forum: Win32/Win64 API (native code)
Delphi
by CodeX,
8. Mär 2006
falls du auf den runas dialog verzichten kannst und einen eigenen dialog erstellen kannst, dann mach folgendes:
1. beim programmstart die rechte prüfen. falls rechte nicht ausreichend, wird der eigene dialog geöffnet.
2. benutzername und passwort vom dialog verwendest du um CreateProcessAsLogon von Luckie aufzurufen.
3. wenn 0 zurückgeliefert wird, hats geklappt und du beendest die aktuelle...