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.
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.)
Tags und Links c# com object marshalling