Nitroxis
Anmeldungsdatum: 27.02.2008 Beiträge: 300 Wohnort: Irgendwo...
|
Verfasst am: 24.04.2009, 15:25 Titel: EnumResourceNames |
|
|
Hallo.
Ich möchte die Resourcen eines Modules auflisten. Leider funktioniert das irgendwie nicht. Hier der Code: Code: | #Include Once "windows.bi"
Declare Function EnumProc(ByVal hModule As HMODULE, ByVal lpszType As LPCTSTR, ByVal lpszName As LPTSTR, ByVal lParam As LONG_PTR) As BOOL
Dim ModuleName As String
Dim hModule As HMODULE
Input "Module: ", ModuleName
Print "Loading Module..."
hModule = LoadLibraryEx(ModuleName, 0, LOAD_LIBRARY_AS_DATAFILE)
If hModule = 0 Then
Print "Can't load Module!"
GetKey()
End(1)
Else
Print "Module loaded!"
Print "Address: " & Hex(hModule)
Print "Press any key to enumerate resources..."
GetKey()
Print "Enumerating..."
EnumResourceNames(hModule, RT_CURSOR, Cast(Any Ptr, @EnumProc), 0)
EnumResourceNames(hModule, RT_FONT, Cast(Any Ptr, @EnumProc), 0)
EnumResourceNames(hModule, RT_BITMAP, Cast(Any Ptr, @EnumProc), 0)
EnumResourceNames(hModule, RT_ICON, Cast(Any Ptr, @EnumProc), 0)
EnumResourceNames(hModule, RT_MENU, Cast(Any Ptr, @EnumProc), 0)
EnumResourceNames(hModule, RT_DIALOG, Cast(Any Ptr, @EnumProc), 0)
EnumResourceNames(hModule, RT_STRING, Cast(Any Ptr, @EnumProc), 0)
EnumResourceNames(hModule, RT_FONTDIR, Cast(Any Ptr, @EnumProc), 0)
EnumResourceNames(hModule, RT_ACCELERATOR, Cast(Any Ptr, @EnumProc), 0)
EnumResourceNames(hModule, RT_RCDATA, Cast(Any Ptr, @EnumProc), 0)
EnumResourceNames(hModule, RT_MESSAGETABLE, Cast(Any Ptr, @EnumProc), 0)
EnumResourceNames(hModule, RT_GROUP_CURSOR, Cast(Any Ptr, @EnumProc), 0)
EnumResourceNames(hModule, RT_GROUP_ICON, Cast(Any Ptr, @EnumProc), 0)
EnumResourceNames(hModule, RT_VERSION, Cast(Any Ptr, @EnumProc), 0)
EnumResourceNames(hModule, RT_DLGINCLUDE, Cast(Any Ptr, @EnumProc), 0)
EnumResourceNames(hModule, RT_PLUGPLAY, Cast(Any Ptr, @EnumProc), 0)
EnumResourceNames(hModule, RT_VXD, Cast(Any Ptr, @EnumProc), 0)
EnumResourceNames(hModule, RT_ANICURSOR, Cast(Any Ptr, @EnumProc), 0)
EnumResourceNames(hModule, RT_ANIICON, Cast(Any Ptr, @EnumProc), 0)
EnumResourceNames(hModule, RT_HTML, Cast(Any Ptr, @EnumProc), 0)
FreeLibrary(hModule)
Print "Finished!"
GetKey()
EndIf
Function EnumProc(ByVal hModule As HMODULE, ByVal lpszType As LPCTSTR, ByVal lpszName As LPTSTR, ByVal lParam As LONG_PTR) As BOOL
Print "Name: " & *lpszName & " Type: ";
Select Case lpszType
Case RT_CURSOR
Print "Cursor"
Case RT_FONT
Print "Font"
Case RT_BITMAP
Print "Bitmap"
Case RT_ICON
Print "Icon"
Case RT_MENU
Print "Menu"
Case RT_DIALOG
Print "Dialog"
Case RT_STRING
Print "String"
Case RT_FONTDIR
Print "FontDir"
Case RT_ACCELERATOR
Print "Accelerator"
Case RT_RCDATA
Print "RC Data"
Case RT_MESSAGETABLE
Print "Message table"
Case RT_GROUP_CURSOR
Print "Group Cursor"
Case RT_GROUP_ICON
Print "Group Icon"
Case RT_VERSION
Print "Version"
Case RT_DLGINCLUDE
Print "Dialog Include"
Case RT_PLUGPLAY
Print "Plug Play"
Case RT_VXD
Print "VXD"
Case RT_ANICURSOR
Print "Animated Cursor"
Case RT_ANIICON
Print "Animated Icon"
Case RT_HTML
Print "HTML"
Case Else
Print "Unknown"
End Select
Return TRUE
End Function | Findet jemand den Fehler?
Ich habe mal als Module "shell32.dll" eingegeben, da das sehr viele Resourcen hat. Das einzigste was er jedoch auflisten ist eine HTML-Datei namens "WEBSERVICEERROR.HTM". |
|