Benutzer mit den meisten Antworten
Feststellen welche Programme auf eine Datei zugreifen

Frage
-
Antworten
-
Hi,
Ich möchte eine Date bearbeiten und darfür muss ich die Prozesse die auf die Datei zugreifen erkennen und beenden.Ich habe aber überhaupt keinen Plan wie ich die Prozesse erkenne die auf die Datei X zugreifen.Hat jemand eine idee?
vorab: Du solltest dich hüten, einfach irgendwelche Prozesse wahllos abzuschießen. Das kann zu unerwarteten (und unerfreulichen) Ergebnissen führen.
Falls Du die Frage dennoch beantwortet wissen willst :)
http://stackoverflow.com/questions/317071/how-do-i-find-out-which-process-is-locking-a-file-using-netLies bitte auch die weiterführenden Links im ersten Posting dort.
Gruß, Stefan
Microsoft MVP - Visual Developer ASP/ASP.NET
http://www.asp-solutions.de/ - Consulting, Development
http://www.aspnetzone.de/ - ASP.NET Zone, die ASP.NET Community- Als Antwort vorgeschlagen Stefan FalzModerator Donnerstag, 17. März 2011 00:03
- Als Antwort markiert Robert BreitenhoferModerator Dienstag, 22. März 2011 17:30
Alle Antworten
-
Hi,
Ich möchte eine Date bearbeiten und darfür muss ich die Prozesse die auf die Datei zugreifen erkennen und beenden.Ich habe aber überhaupt keinen Plan wie ich die Prozesse erkenne die auf die Datei X zugreifen.Hat jemand eine idee?
vorab: Du solltest dich hüten, einfach irgendwelche Prozesse wahllos abzuschießen. Das kann zu unerwarteten (und unerfreulichen) Ergebnissen führen.
Falls Du die Frage dennoch beantwortet wissen willst :)
http://stackoverflow.com/questions/317071/how-do-i-find-out-which-process-is-locking-a-file-using-netLies bitte auch die weiterführenden Links im ersten Posting dort.
Gruß, Stefan
Microsoft MVP - Visual Developer ASP/ASP.NET
http://www.asp-solutions.de/ - Consulting, Development
http://www.aspnetzone.de/ - ASP.NET Zone, die ASP.NET Community- Als Antwort vorgeschlagen Stefan FalzModerator Donnerstag, 17. März 2011 00:03
- Als Antwort markiert Robert BreitenhoferModerator Dienstag, 22. März 2011 17:30
-
Ich bekomme immer eine Win 32 Exepition Zugriff verweigert.
Ps: Ich habe es in eine Windows Form kopiert.
Imports System.Management Imports System.IO Module Module1 Friend myProcessArray As New ArrayList Private myProcess As Process Sub Main() Dim strFile As String = "c:\windows\system32\msi.dll" Dim a As ArrayList = getFileProcesses(strFile) For Each p As Process In a Debug.Print(p.ProcessName) Next End Sub Private Function getFileProcesses(ByVal strFile As String ) As ArrayList myProcessArray.Clear() Dim processes As Process() = Process.GetProcesses Dim i As Integer For i = 0 To processes.GetUpperBound(0) - 1 myProcess = processes(i) If Not myProcess.HasExited Then ''Hierr!!!!!!!!! Try Dim modules As ProcessModuleCollection = myProcess.Modules Dim j As Integer For j = 0 To modules.Count - 1 If (modules.Item(j).FileName.ToLower.CompareTo(strFile.ToLower) = 0) Then myProcessArray.Add(myProcess) Exit For End If Next j Catch exception As Exception 'MsgBox(("Error : " & exception.Message)) End Try End If Next i Return myProcessArray End Function End Module
MFG M. D.- Bearbeitet coder101001 Samstag, 12. März 2011 22:06 Ergänzung
-
Mit dem Code kann man leider nichts anfangen.
Und die Exception ist korrekt, da Du nicht alles im System abfragen und vor allem nicht jeden Prozess abschießen kannst.
Generell müsste deine Anwendung wahrscheinlich eh mind. mit Adminrechten laufen.
Nachtrag: Das von dir verwendete Beispiel ist gerade das falsche. Lies mal bitte nochmal genau, was in dem Posting mit diesem Beispiel steht.
Es macht keinen Sinn, einfach irgendwas irgendwoher zu kopieren ohne sich auch nur ein paar Gedanken darüber zu machen, was der Code eigentlich fabriziert.
Gruß, Stefan
Microsoft MVP - Visual Developer ASP/ASP.NET
http://www.asp-solutions.de/ - Consulting, Development
http://www.aspnetzone.de/ - ASP.NET Zone, die ASP.NET Community- Als Antwort vorgeschlagen Stefan FalzModerator Samstag, 12. März 2011 22:16
- Nicht als Antwort vorgeschlagen Stefan FalzModerator Samstag, 12. März 2011 22:16