Aus WMI Process ein Object erhalten

HoB-Lila

Grünschnabel
Hallo zusammen,

ich habe folgendes Problem:
Ich bastle an einem CATIA (CAD Anwendung) Zusatz Tool. Dieses benötigt ein Object (CATIA) welches in einer TBL definiert ist.

Normalerweise würde ich das Object erhalten indem ich ein GetObject("CATIA.Application") mache. Nun habe ich aber das Problem, dass die Software auf dem Zielrechner nicht registriert ist und daher auch das CATIA.Application Object noch nicht bekannt ist. Das CATIA, welches ich benutzen möchte ist aber geöffnet, weshalb ich auch den Pfad für die TBL und das CATIA aus der Prozessliste auslesen kann.

Frage:
Kann ich nun aus dem Pfad, der Przozess ID und dem entsprechenden Object-Type mein benötigtes Object erhalten.

Bisherige Vorgehensweise:

Private CATIA As INFITF.Application

Dim colProcesses As WbemScripting.SWbemObjectSet
Dim objWMIService As WbemScripting.SWbemServicesEx
Dim processMy As WbemScripting.SWbemObjectEx

objWMIService = GetObject("winmgmts:{impersonationLevel=impersonate}!\\.\root\cimv2")
colProcesses = objWMIService.ExecQuery("Select * from Win32_Process Where Name = 'CNEXT.exe'")

For Each processMy In colProcesses

CATIA= System.Runtime.InteropServices.Marshal.GetActiveObject(CType(processMy.ProcessID, String))

Next

----

Wie man sehen kann versuche ich über die WMI-Services zu gehen. Ich erhalte auch den Prozess und kann auch all seine Properties auslesen, wie den Pfad, den Handle, etc.

Dieses Object besitzt aber noch nicht die benötigten Methoden meiens CATIA Objects und müsste erst zu einem umgewandelt werden.

Ich weiß das ist hier eigentlich nicht euer Gebiet, aber da ich über WMI gehe und ihr sicherlich auch ab und an ein Object über GetObject() holt habt ihr eventuell eine Idee.
Wahrscheinlich habe ich nur irgend einen Denkfehler und muss eventuell nur ein FileOpen oder sowas machen um mein Object zu erhalten...

Vielen Dank für die Mühe,
Lila
 
Zurück