Willkommen auf myCSharp.de! Anmelden | kostenlos registrieren
 | Suche | FAQ

Hauptmenü
myCSharp.de
» Startseite
» Forum
» Suche
» Regeln
» Wie poste ich richtig?

Mitglieder
» Liste / Suche
» Wer ist online?

Ressourcen
» FAQ
» Artikel
» C#-Snippets
» Jobbörse
» Microsoft Docs

Team
» Kontakt
» Cookies
» Spenden
» Datenschutz
» Impressum

  • »
  • Community
  • |
  • Diskussionsforum
IMoniker und Prozess ID
lukasS
myCSharp.de - Member

Avatar #avatar-3121.jpg


Dabei seit:
Beiträge: 67
Herkunft: Herne

Themenstarter:

IMoniker und Prozess ID

beantworten | zitieren | melden

Hallo zusammen,

wenn ich mein Programm starte, soll eine Liste von z. B. geöffneten Excel-Dateien angezeigt werden. Wählt der Benutzer eine Datei aus, muss ich die Prozess-ID der jeweiligen Instanz kriegen. Dabei kann natürlich vorkommen das mehrere Excel-Instanzen auf dem Rechner laufen.

Über die laufenden Prozesse kriege ich ja die Prozess-ID.
Auf die aktuell geöffneten Dateien komme ich über die GetRunningObjectTable (hier ein schönes Bespiel: Laufende COM-Objekte abfragen).

Aber ich habe keinen Bezug von der Prozess-ID zu dem ausgewählten Objekt. Der IMoniker bietet ja z. B. keine Informationen dazu an.

Gibt es vielleicht eine Funktion, ID oder sonst was, wo ich einen Bezug zwischen dem z. B. IMoniker/ROT-Objekt und einem Prozess kriege, irgendwas was ich vielleicht abgleichen kann?
Oder gibt es noch eine Funktion wie GetRunningObjectTable nur bezogen auf die Prozesse? Die ID muss ich nämlich haben.


Danke schon mal!

Gruß

Lukas
Dieser Beitrag wurde 1 mal editiert, zum letzten Mal von lukasS am .
private Nachricht | Beiträge des Benutzers
ismirschlecht
myCSharp.de - Member



Dabei seit:
Beiträge: 47

beantworten | zitieren | melden

Gibt es in den Informationen über die geöffneten Dateien so etwas wie "Besitzer" ?
Das könntre dann der öffnende Prozess sein.
private Nachricht | Beiträge des Benutzers
herbivore
myCSharp.de - Experte

Avatar #avatar-2627.gif


Dabei seit:
Beiträge: 52329
Herkunft: Berlin

beantworten | zitieren | melden

Hallo lukasS,

der Process Explorer kennt die Zuordnung von offenen Dateien zu Prozessen. Der Process Hacker kann angeblich mehr als der Process Explorer, also müsste er es auch können. Und der Process Hacker ist open source. Du kannst also nachschauen, wie er es macht.

herbivore
private Nachricht | Beiträge des Benutzers
lukasS
myCSharp.de - Member

Avatar #avatar-3121.jpg


Dabei seit:
Beiträge: 67
Herkunft: Herne

Themenstarter:

beantworten | zitieren | melden

Hallo,

@ismirschlecht: Über die Dateien habe ich halt die Informationen die man auch sonst erhält, aber keine Verbindung zum geöffneten Prozess.

@herbivore: Danke für den Tipp, das könnte Hilfreich sein. Der Dateipfad steht dort zumindest drin. Wenn ich was finden sollte, schreibe ich es hier rein.

Danke!

Lukas
private Nachricht | Beiträge des Benutzers
Coder007
myCSharp.de - Member



Dabei seit:
Beiträge: 1249

beantworten | zitieren | melden

Hast du das Excel.Application Objekt oder kommst du irgendwie ran? Dann könntest du dir das Fenster holen und den dazugehörigen Prozess.
Was für IMoniker hast du genau an der Hand?
private Nachricht | Beiträge des Benutzers