sl3
Goto Top

Technik des Ausführen als- Dialogfelds von Windows XP

Ich habe eine Frage zur Technik der grafischen Ausführen als- Funktion von Windows XP. Grundlage ist, dass ich mir mal in der Registry den Pfad HKEY_CLASSES_ROOT\exefile\shell angesehen habe, also der Pfad mit den Einstellungen zum Öffnen von exe- Dateien. Da gibt es zwei Unterschlüssel, open und runas, das steht für Öffnen und Ausführen als. Und das, was ich daran nicht verstehe, ist, dass bei open und bei runas jeweils im Unterschlüssel command das Selbe steht, nämlich "%1" %*. Trotzdem werden 2 unterschiedliche Sachen ausgeführt, nämlich einmal das Programm direkt gestartet und das andere Mal zunächst das Ausführen als- Dialogfeld geöffnet, bevor das Programm gestartet wird. Dazu habe ich folgendes rausbekommen:
1. Das Verhalten ist bei jedem anderen Dateityp genauso.
2. Entscheidend ist hier nur, dass der Registryschlüssel runas heißt. Benennt man HKEY_CLASSES_ROOT\exefile\shell\runas in HKEY_CLASSES_ROOT\exefile\shell\irgendwas um, wird das Programm normal ohne Ausführen als- Dialogfeld gestartet. Und was als Befehl im Registry- Unterschlüssel command steht, ist ebenfalls unbedeutend, man kann auch ein beliebiges anderes Programm eintragen, es wird weiterhin die Ausführen als- Funktion aufgerufen.
3. Das Dialogfeld Ausführen als ist in der Systemdatei shell32.dll enthalten.
Ich habe das also insoweit verstanden, dass entscheidend für das Starten des Ausführen als- Dialogfelds ist, dass der Registryschlüssel runas heißt. Dadurch wird auch bewirkt, dass der Kontextmenüeintrag Ausführen als heißt. Außerdem habe ich verstanden, dass beim Anklicken von Ausführen als im Kontextmenü des Programms eine entsprechende Funktion der shell32.dll aufgerufen wird. Stellen sich noch folgende beide Fragen:
1. Was für ein Befehl wird bei diesem Vorgang genau ausgeführt? shell32.dll, aber welche Parameter?
2. Wie macht Windows das rein technisch betrachtet, dass automatisch aufgrund des Registrypfades namens HKEY_CLASSES_ROOT\<Dateityp>\shell\runas Ausführen als aufgerufen wird?
Ich habe schon im Internet danach gesucht, konnte aber darauf keine Antwort finden. Ich hoffe, es kann mir jemand helfen. Schon mal vielen Dank im Voraus.

Content-Key: 33385

Url: https://administrator.de/contentid/33385

Printed on: April 19, 2024 at 19:04 o'clock

Mitglied: 18697
18697 Jun 07, 2006 at 17:25:55 (UTC)
Goto Top
Solche technische Fragen werden von der MSDN Library beantwortet. Die MSDN Library ist "das" Nachschlagewerk für Windows-Programmierer. Die Online-Version wird von Microsoft unter:

http://msdn.microsoft.com/library/default.asp

veröffentlicht. Man sollte für die Online-MSDN Library den Internet Explorer 6/7 verwenden und mit dem Navigationsbaum auf der linken Seite arbeiten.

Viel Spass!

Hier noch ein Direkteinstieg zu einer Teilantwort deiner Frage:
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/com/ht ...
Member: sl3
sl3 Jun 09, 2006 at 01:48:34 (UTC)
Goto Top
Danke, guter Tipp, ich werde mich da dann mal umsehen.