C # Erhalte progID vom COM-Objekt

9

Ich würde gerne wissen, ob es eine Möglichkeit gibt, die progId eines com-Objekts in c # zu bekommen. zB - Ich habe ein WebBrowser-Objekt, das ein Dokumentobjekt freigibt, das COM ist. Gibt es eine Möglichkeit, herauszufinden, was die progID dieses Dokumentobjekts ist?

Ich weiß, Sie können das Objekt von progID bekommen, nur nicht sicher, wie es umgekehrt geht.

    
Grant 10.08.2009, 06:28
quelle

1 Antwort

9

Sie können nach IPersist und GetClassID abfragen es.

Das bringt dir CLSID . Rufen Sie dann ProgIDFromCLSID auf:

Die pinvoke-Deklaration ist hier.

Das bringt dir die ProgID.

BEARBEITEN:

Um nach einer Schnittstelle zu suchen, führen Sie einfach eine Umwandlung in C # durch:

%Vor%

Hinter den Kulissen ist das, was tatsächlich passiert, wie hier in C ++ gezeigt:

%Vor%

(Aber niemand beschäftigt sich damit, dieses Zeug heutzutage per Hand zu schreiben, da ein intelligenter Zeiger die C # -Erfahrung ziemlich simulieren kann.)

    
Daniel Earwicker 10.08.2009, 06:46
quelle

Tags und Links