Rubrik: System/Windows · Prozesse/Tasks | VB-Versionen: VB2005, VB2008 | 08.05.09 |
Aufrufende EXE aus DLL heraus ermitteln und beenden Mit diesem Code lässt sich aus der eigenen DLL heraus ermitteln, von welchen Anwendungen die eigenene DLL aktuell geladen und genutzt wird. | ||
Autor: Ralf Ehlert | Bewertung: | Views: 12.260 |
ohne Homepage | System: Win2k, WinXP, Win7, Win8, Win10, Win11 | Beispielprojekt auf CD |
Heute zeigen wir Ihnen eine schnelle und einfache Möglichkeit, wie sich aus der eigenen DLL heraus ermitteln lässt, welche Anwendung die DLL aktuell geladen hat.
' Name der eigenen DLL ermitteln Dim dllFile As String = _ System.Reflection.Assembly.GetExecutingAssembly().GetName().Name & ".dll"
' Liste der Prozesse, die die DLL geladen haben Dim res As New List(Of Process)
' alle Prozesse durchlaufen For Each p As Process In Process.GetProcesses() Try ' Module des Prozesses durchlaufen For Each m As ProcessModule In p.Modules ' Modul-Name prüfen und mit der aktuellen DLL vergleichen If m.ModuleName = dllFile Then ' zur Liste hinzufügen res.Add(p) Exit For End If Next Catch End Try Next
Alle Prozesse in einer ListBox anzeigen
' Prozesse anzeigen, die die DLL geladen haben For Each p As Process In res ListBox1.Items.Add(p.MainModule.ModuleName) Next
Prozesse beenden, die unsere DLL geladen haben
For Each p As Process In res p.Kill() Next