Einzelnen Beitrag anzeigen

MathiasSimmack
(Gast)

n/a Beiträge
 
#31

Re: RunAs Dialog vor dem Programmstart???

  Alt 11. Mär 2006, 08:31
Zitat von TeronG:
Zitat von MathiasSimmack:
so dass man sie mit wenig Aufwand in eigene Programme einbinden kann.
[...]
also ich würd ja sagen, daß der Code eh schon recht simpel/kurz/unaufwändig ist. Quasi nur eine if abfrage (mit einer if abfrage) und schon kannste deinen code reinschmeißen.
Das habe ich nicht gemeint. Ich dachte an eine Zusammenfassung der Funktionen, so dass der Entwickler letztlich in seinem Programm auch nur eine if-then-Abfrage einbaut. Allerdings sollte er/sie sich nicht darum kümmern müssen, welche Units oder API-DLLs ggf. einzubinden sind, auf welchem OS das ganze läuft, usw.

Ein an den Haaren herbeigezogenes Beispiel: Ich schreibe ein 08/15-Programm, das an einer bestimmten Stelle zwingend etwas in der Registry unter HKLM speichern muss. Ich rufe an dieser Stelle im Programm die (noch fiktive) Funktion "RunAsDialog" auf. Diese Funktion stellt fest, dass ich bereits Admin-Rechte habe und führt den gewünschten Programmcode aus.
Bei einem Einsatz als Benutzer würde an der gleichen Stelle ein Dialog angezeigt werden, der mich auffordert, ein Admin-Konto zu wählen und das Passwort anzugeben. War das korrekt, erlangt das Programm die notwendigen Rechte und kann den Code ebenfalls speichern.
Da es sich um ein 08/15-Programm handelt, könnte auch jemand auf die Idee kommen, es unter Windows 98 einzusetzen. Hier würden die NT-spezifischen Funktionen u.U. Fehler verursachen und im schlimmsten Fall das Programm sogar beenden oder am Programmlauf hindern, obwohl das Speichern in HKLM hier gar kein Problem ist.

Der Entwickler, der so eine Bibliothek verwenden möchte, muss sich im Normalfall also um nichts weiter kümmern. Er ruft nur die Funktionen auf, den Rest erledigt die DLL intern. Und unter Systemen wie Windows 98 kommt es zu keiner Störung im Programmlauf, weil die Funktionen dann generell immer true (oder was weiß ich) zurückgeben, bzw. die nicht vorhandenen NT-Funktionen gar nicht erst aufrufen.

Aber egal, es war eben nur so eine Idee, geboren aus Langeweile ...
  Mit Zitat antworten Zitat