Wenn ich in eine Datei lese oder schreibe und einen Fehler 33 oder 32 erhalte, möchte ich eine Nachricht protokollieren, die den Namen der anderen Prozesse enthält, die die Datei geöffnet haben. Es muss eine Win32-API geben, die ich verwenden könnte, um diese Informationen zu erhalten. Process Explorer zeigt es an. Natürlich hat Process Explorer auch Informationen über alle Prozesse im Speicher. Ich würde es vorziehen, den Täter zu finden, ohne alle Prozesse zu hinterfragen.Welche Win32-API kann verwendet werden, um den Prozess zu finden, der eine bestimmte Datei geöffnet hat?
9
A
Antwort
2
This scheint zu tun, was Sie wollen.
offensichtlich verwendet es einige versteckte API wie NtQueryInformationProces
s.
1
The Handle program from SysInternals does this as well, aber ich bin mir nicht sicher, wie. Ich glaube nicht, dass es dafür eine einzige dokumentierte API gibt. Ich denke, Sie müssen über die Prozesse iterieren, jeden der Handles im Prozess aufzählen und dann den Dateinamen bestimmen, der diesem Handle zugeordnet ist.
Verwandte Themen
- 1. Wie kann ich einen laufenden Prozess überprüfen, um zu sehen, welche Shared Libraries verwendet werden?
- 2. Wie kann man wissen, welcher Prozess eine bestimmte Datei verwendet?
- 3. Welche Entwicklungstechnologien werden verwendet, um bestimmte berühmte Websites zu entwickeln?
- 4. Java Regex, um bestimmte Datei zu finden
- 5. Hat der Server den Socket für jeden Client-Prozess geöffnet?
- 6. Welche Funktion kann verwendet werden, um einen Vector zu sortieren?
- 7. Wo ist eine Datei geöffnet?
- 8. Welche Signale können sicher verwendet werden, um einen Git-Prozess zu beenden und welche nicht?
- 9. Ubuntu Bashrc-Datei, wie zu finden, welche Datei verwendet wird?
- 10. RegEx, um eine bestimmte URL zu finden
- 11. Kann Eclipse verwendet werden, um alle veralteten Methodenaufrufe zu finden?
- 12. Kann WinPcap verwendet werden, um den Netzwerkverkehr pro Prozess zu erfassen?
- 13. JConsole kann den Prozess nicht finden
- 14. Welche Regex könnte verwendet werden, um einen Teilstring unabhängig von der Reihenfolge zu finden?
- 15. Wie kann 'grep' verwendet werden, um eine Zeichenfolge zu finden, außer wenn eine andere Zeichenfolge übereinstimmt?
- 16. Bestimmen, welcher Prozess eine Sperre für eine Datei hat
- 17. Kann turf.js verwendet werden, um schlechte Geojson-Geometrie zu finden und zu reparieren?
- 18. Wie Bildverarbeitungsanwendungen die Datei identifizieren, die der Benutzer geöffnet hat?
- 19. Welche FoxPro-Datentools können verwendet werden, um beschädigte Daten zu finden?
- 20. Datei kann in Julia nicht geöffnet werden
- 21. Warum hat OpenGL eine ferne Clipping-Ebene, und welche Idiome werden verwendet, um damit umzugehen?
- 22. Android DownloadManager "Datei kann nicht geöffnet werden"
- 23. IPython kann nicht geladen werden win32api
- 24. Die Datei 'SDL2.lib' kann nicht geöffnet werden. Die Datei 'ucrtrt.lib' kann nicht geöffnet werden.
- 25. Wie man Firebug verwendet, um leicht zu finden, welche CSS-Datei einen bestimmten Stil definiert
- 26. Welche Technik sollte verwendet werden, um 2d Kollisionsprüfungen zu bereinigen?
- 27. Finden Sie heraus, welcher Benutzer auf eine bestimmte Datei zu welcher Zeit in UNIX zugegriffen hat
- 28. NullpointerException; Datei kann nicht geöffnet werden
- 29. Kann c9-Arbeitsbereich verwendet werden, um eine Website zu betreiben?
- 30. Kann der Go-Compiler verwendet werden, um eine ausführbare Datei für andere Betriebssysteme zu verteilen?