Frage

Ich möchte alle IDispatch unterstützende Objekte auf einer Maschine aufzuzählen. Im Moment muss ich wissen, was die Klasse ID oder Prog-ID ist aber, meine Maschine zur Inspektion, würde ich gerne wissen, ob ich nur alle Objekte aufzählen können, die IDispatch implementieren.

Ist das überhaupt möglich?

Jede Hilfe wäre sehr willkommen:)

War es hilfreich?

Lösung

Das ist eine sehr seltsame Anfrage. Der Haken ist in der „all“ Bedingung. Einfache Aufzählung durch den HKCR \ TypeLib-Schlüssel und LoadTypeLib () ist nicht genug, ein COM-Server ist nicht erforderlich, eine Art Bibliothek zu veröffentlichen. Sie müßten eigentlich zu CoCreateInstance () die Co-Klasse und Query-Interface für IDispatch. Dies ist nicht nur langsam, es ist auch riskant.

Sie könnten eine bessere Antwort bekommen, wenn Sie erklären, warum Sie erwägen tatsächlich so etwas wie dies zu tun. Der Aufruf IDispatch :: Invoke () ohne irgendeine Art von Ahnung, was die Argumente bedeuten oder was die Nebenwirkungen sein könnte ein Rezept für eine Katastrophe ist. Bleiben Sie weg von Methodennamen wie „ReformatDrive“.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top