Wie zu verwenden Marschall.getActiveObject () - 2-Instanz, einem Laufenden Prozess, hat zwei Prozesse öffnen
Derzeit mein code verwendet
SurferApp = Marshal.GetActiveObject("Surfer.Application") as Surfer.Application
auf die ausgeführte Instanz von einer software namens surfer, der Einfachheit halber können wir ersetzen Surfer zu Wort, dass jeder kennt.
Jetzt sagen wir, ich habe 2 MS word-Anwendung ausgeführt, und ich möchte, um sowohl mit Marshal.GetActiveObject()
wie kann ich die Laufenden Instanzen, und ordnen Sie jeweils mit einem separaten Objekt?
- Hi @hoooman, haben Sie Ihr problem lösen. Vielleicht könnte Sie post ein paar Beispiel-code.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Marschall.GetActiveObject liefert die erste Instanz, die es findet auf der ROT (running object table). Wenn Sie mehr als eine Instanz mit dem gleichen Namen/der id, die Sie haben, um es direkt von ROT.
Ein paar links zum starten:
Zusätzlich zu den links in der akzeptierten Antwort, fand ich das folgende sehr hilfreich zu Fuß die ROT, vor allem, wenn die Anwendung, die Sie interessiert, ist AutoCAD:
http://adndevblog.typepad.com/autocad/2013/12/accessing-com-applications-from-the-running-object-table.html