Ich bin neu hier, also habe ich nicht die Zeit, etwas beizutragen, bevor ich euch um Hilfe ersuche, also entschuldigt mich dafür.
Ich bin mir nicht sicher, ob das möglich ist, aber ich würde gerne die geöffnete (n) Datei (en) einer Anwendung herausfinden.
Hier meine ich nicht die "internen" geöffneten Dateien, sondern diejenigen, die vom Endbenutzer geöffnet werden (entweder durch Aufruf der Handlings-App durch Dateiassoziation oder explizit in der App). Denken Sie * .cs oder * .vb Dateien in Visual Studio (ja, ich bin ein MS-Typ) oder Textdateien im Editor.
Ich habe im MSDN-Dokument "Win Shell" nach "Verben" gesucht, erwähnt aber nur das Aufrufen und keine Möglichkeit, Informationen über aufgerufene Verben zu überprüfen. Ich habe auch auf DDE geschaut, aber es sieht wie eine Allzweckeinrichtung aus und passt hier nicht in meinen Fall.
Ich muss sagen, dass meine Situation durch das Googlen schwer zu lösen ist, weil es keine eindeutigen Schlüsselwörter gibt, also würde dies definitiv menschliche Aufmerksamkeit brauchen:)
Danke
Wenn Sie einen laufenden Prozess auf offene Handles untersuchen möchten, können Sie ProcessExplorer oder verwenden die Befehlszeilenanwendung Handle .
ProcessExplorer ist im Wesentlichen der Windows Task Monitor auf Steroiden. Es ist ein sehr nützliches Werkzeug im täglichen Computing sowie für das Debugging von Prozessen. Ich empfehle es sehr.
Ich nehme an, dass Sie ein C # -Programmierer sind und einen Code dafür benötigen. Soweit ich weiß, gibt es keine einfache Programmier-API, um diese Informationen herauszufinden - es ist nicht die Win32-API, sondern die Windows-interne API. Die SysInternals-Suite von Befehlszeilen-Dienstprogrammen ( Ссылка ) kann jedoch zum Ermitteln dieser Informationen verwendet werden .
Die gewünschte Anwendung heißt Handle.
Es gibt keine Unterschiede zum OS zwischen dem, was Sie "interne Dateien" nennen (vermutlich solche, die vom Programm ohne Benutzereinbindung geöffnet wurden) und solchen, die der Benutzer absichtlich verwendet hat. Sie müssen diese Information angeben, indem Sie die Erweiterung der Datei angeben. Wenn Sie beispielsweise alle in Word geöffneten Word-Dateien suchen möchten, ist folgende Befehlszeile erforderlich:
handle -p winword.exe | finde ".doc"
Wenn Sie eine App in C # schreiben, können Sie die folgende Klasse verwenden, um eine Liste geöffneter Dokumente zurückzugeben, die Ihrem Muster entsprechen (beachten Sie, dass dies ein Formular namens ShowOpenAppFilesForm mit zwei Textfeldern appExeNameTextBox und
[Übrigens, DDE ist jetzt meistens Toast.]
Tags und Links file