Domanda

Mi piacerebbe elencare tutti gli oggetti che supportano IDispatch su una macchina. Al momento ho bisogno di sapere che cosa l'id classe o prog id non è che, per ispezionare la mia macchina, mi piacerebbe sapere se posso solo elencare tutti gli oggetti che implementano IDispatch.

Questo è anche possibile?

Qualsiasi aiuto sarebbe molto apprezzato:)

È stato utile?

Soluzione

Questa è una richiesta molto strano. Il guaio è nel "tutti" stipula. Semplice l'enumerazione attraverso la chiave HKCR \ Typelib e LoadTypeLib () non è sufficiente, un server COM non è tenuta a pubblicare una libreria di tipi. Si avrebbe in realtà dovuto CoCreateInstance () coclasse e QueryInterface per IDispatch. Non solo questo è lento, è anche rischioso.

Si potrebbe ottenere una risposta migliore se si spiega il motivo per cui si sarebbe effettivamente contemplare fare qualcosa di simile. La chiamata IDispatch :: Invoke () senza avere un qualche tipo di idea di cosa significano le argomentazioni o quello che gli effetti collaterali potrebbero essere è una ricetta per il disastro. Stare lontano da nomi di metodo come "ReformatDrive".

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top