VB-Homepage Tipp 128

Ermitteln aller geladenen Module

Sie möchten überprüfen, welche Module (*.dlls;*.vbx usw.) geladen sind und von wo sie geladen wurden, dann haben wir hier ein kleines VB3 Projekt, das genau dies tut.
Der Quellcode entstammt einem Programm von Sascha Weis.
Seine Informationen bezieht das Programm aus der Datei "toolhelp.dll".

module.mak
MODULE.FRM
MODULE.BAS
ProjWinSize=152,402,248,215
ProjWinShow=2
IconForm="Form1"
Title="gel. Module"
ExeName="MODULE.EXE"

module.bas
Option Explicit
Type ModuleEntry
dwSize As Long
szModule As String * 10
hModule As Integer
wcUsage As Integer
szExepath As String * 256
wNext As Integer
End Type

module.frm
VERSION 2.00
Begin Form Form1
BackColor = &H00C0C0C0&
BorderStyle = 3 'Fixed Double
Caption = "VB-Homepage Tipp (Ermitteln aller geladenen Module)"
ClientHeight = 3405
ClientLeft = 1215
ClientTop = 4215
ClientWidth = 8640
Height = 3810
Left = 1155
LinkTopic = "Form1"
ScaleHeight = 3405
ScaleWidth = 8640
Top = 3870
Width = 8760
Begin Frame Frame4
BackColor = &H00C0C0C0&
Caption = "Laufende Tasks"
FontBold = 0 'False
FontItalic = 0 'False
FontName = "MS Sans Serif"
FontSize = 8.25
FontStrikethru = 0 'False
FontUnderline = 0 'False
Height = 2895
Left = 120
TabIndex = 0
Top = 120
Width = 8295
Begin ListBox List3
BackColor = &H00C0C0C0&
FontBold = 0 'False
FontItalic = 0 'False
FontName = "MS Sans Serif"
FontSize = 8.25
FontStrikethru = 0 'False
FontUnderline = 0 'False
Height = 2565
Left = 2280
TabIndex = 1
Top = 240
Width = 5895
End
Begin ListBox List2
BackColor = &H00C0C0C0&
FontBold = 0 'False
FontItalic = 0 'False
FontName = "MS Sans Serif"
FontSize = 8.25
FontStrikethru = 0 'False
FontUnderline = 0 'False
Height = 2565
Left = 120
TabIndex = 2
Top = 240
Width = 2055
End
End
Begin Label Label1
BackStyle = 0 'Transparent
Caption = "Gefunden in Sascha Weis Quellcode zum Programm - SysAnalyting"
Height = 255
Left = 120
TabIndex = 3
Top = 3120
Width = 8295
End
End
Option Explicit
Declare Function ModuleFirst Lib "toolhelp.dll" (mdlentry As ModuleEntry) As Integer
Declare Function ModuleNext Lib "toolhelp.dll" (mdlentry As ModuleEntry) As Integer
Sub Form_Load ()
Dim Tmp As ModuleEntry
Dim Retn As Integer
Tmp.dwSize = Len(Tmp)
Retn = ModuleFirst(Tmp)
While Retn <> 0
If InStr(Tmp.szExepath, ".VBX") <> 0 Or InStr(Tmp.szExepath, ".DLL") <> 0 Or InStr(Tmp.szExepath, ">DRV") <> 0 Then
List2.AddItem Tmp.szModule
List3.AddItem Tmp.szExepath
End If
Tmp.szExepath = ""
Retn = ModuleNext(Tmp)
Wend
End Sub
Sub List2_Click ()
List3.ListIndex = List2.ListIndex
End Sub
Sub List3_Click ()
List2.ListIndex = List3.ListIndex
End Sub

Um den Code zu nutzen, erstellen Sie sich mit einem Editor (z.Bsp. Notepad) Dateien die Sie wie angegeben benennen und kopieren Sie den Code hinein. Speichern Sie Ihre Datei ab und öffnen Sie das Projekt entweder direkt aus einem Dateimanager oder öffnen Sie Ihre VB Software und laden sich das Projekt.

Tipp-Download

Quelle : Sascha Weis

Zurück zur Übersichtsseite