vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#

https://www.vbarchiv.net
Rubrik: System/Windows · Prozesse/Tasks   |   VB-Versionen: VB2005, VB200808.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 EhlertBewertung:  Views:  10.073 
ohne HomepageSystem:  Win2k, WinXP, Vista, Win7, Win8, Win10 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



Anzeige

Kauftipp Unser Dauerbrenner!Diesen und auch alle anderen Tipps & Tricks finden Sie auch auf unserer aktuellen vb@rchiv  Vol.6
(einschl. Beispielprojekt!)

Ein absolutes Muss - Geballtes Wissen aus mehr als 8 Jahren vb@rchiv!
- nahezu alle Tipps & Tricks und Workshops mit Beispielprojekten
- Symbol-Galerie mit mehr als 3.200 Icons im modernen Look
Weitere Infos - 4 Entwickler-Vollversionen (u.a. sevFTP für .NET), Online-Update-Funktion u.v.m.
 
 
Copyright ©2000-2019 vb@rchiv Dieter OtterAlle Rechte vorbehalten.


Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.