Deutsch
Anwendungen

ResHacker/ Resourcen-Editor/ Hacker

 
Frank hat ein Anwendungstemplate für einen ResHacker bereitgestellt:

Frank Abbing (07.11.2010)
Ich habe meinen Code etwas erweitert, mit dem die Iconnamen eines XProfan-Programms gelistet werden konnten. Er könnte jetzt als Basis dienen, um einen eigenen Resourcen-Editor zu schreiben, für alle Dateien, die Resourcen enthalten. Vielleicht hat ja jemand Lust, weiter zu entwickeln.
'
' © Frank Abbing für Paules-PC-Forum
' ./../../sys/?nohdr=1&u=www.paules-pc-forum.de/forum/xprofan/
'
Def EnumResourceNames(4) !"kernel32","EnumResourceNamesA"
Def GetSysColor(1) !"user32","GetSysColor"
Def ExtractIconEx(5) !"shell32.dll","ExtractIconExA"
Def EnumResourceTypes(3) !"kernel32","EnumResourceTypesA"
Declare x&, y&, text$, hmod&, type&[32], icon&

Proc EnumResNameProc

    Parameters hModule&, lpszType&, lpszName&, lParam&
    Declare name$
    y& = lpszName& >> $10

    IfNot y&

        name$ = "ID " + Str$(lpszName&)

    Else

        name$ = String$(lpszName&,0)

    Endif

    If name$ <> ""

        x&=TreeView("InsertItem", treeview&, lParam&, 1, name$)
        TreeView("SetChildren", treeview&, lParam&, 1)
        TreeView("Expand", treeview&, lParam&, 2)
        Return 1

    Else

        Return 0

    EndIf

EndProc

Proc EnumResTypeProc

    Parameters hModule&, lpszType&, lParam&
    Declare name$
    y& = lpszType& >> $10

    IfNot y&

        name$ = GetString$(resnames&, lpszType&-1)

    Else

        name$ = String$(lpszType&,0)

    Endif

    If name$ <> ""

        x&=TreeView("InsertItem", treeview&, 0, 0, name$)
        EnumResourceNames(hmod&, lpszType&, ProcAddr("EnumResNameProc", 4), x&)
        Return 1

    Else

        Return 0

    EndIf

EndProc

Proc LoadNewFile

    WindowTitle "Alle Resourcen auflisten."
    TreeView("DeleteItem", treeview&, 0)
    text$ = LoadFile$("Datei öffnen:","Ausführbare Dateien|*.EXE;*.DLL;*.CPL;*.SYS;*.SCR;*.OCX;*.AMC")

    If text$<>""

        Case hmod&: FreeDll hmod&
        hmod& = UseDll(text$)

        If hmod&

            WindowTitle "Alle Resourcen auflisten: "+text$
            SendMessage(treeview&,11,0,0)
            UseCursor 2
            EnumResourceTypes(hmod&, ProcAddr("EnumResTypeProc", 3), 0)
            SendMessage(treeview&,11,1,0)
            UseCursor 0

        Endif

    EndIf

EndProc

WindowStyle 31 + 512
Cls GetSysColor(15)
Var resnames& = Create("List", 0)
AddString(resnames&, "Cursor")
AddString(resnames&, "Bitmap")
AddString(resnames&, "Icon")
AddString(resnames&, "Menu")
AddString(resnames&, "Dialog")
AddString(resnames&, "String")
AddString(resnames&, "FontDir")
AddString(resnames&, "Font")
AddString(resnames&, "Accelerator")
AddString(resnames&, "RCData")
AddString(resnames&, "MessageTable")
AddString(resnames&, "Group_Cursor")
AddString(resnames&, "13")
AddString(resnames&, "Group_Icon")
AddString(resnames&, "15")
AddString(resnames&, "Version")
AddString(resnames&, "DlgInclude")
AddString(resnames&, "18")
AddString(resnames&, "PlugPlay")
AddString(resnames&, "Vxd")
AddString(resnames&, "AniCursor")
AddString(resnames&, "AniIcon")
AddString(resnames&, "Html")
AddString(resnames&, "Manifest")
PopUp "&Datei"
AppendMenu 100,"Laden"
AppendMenu 200,"Beenden"
Var il& = Create("ImageList", 16, 16)
ExtractIconEx("shell32.dll", 4, 0, Addr(icon&),1)
ImageList("AddIcon", il&, icon&)
ExtractIconEx("shell32.dll", 2, 0, Addr(icon&),1)
ImageList("AddIcon", il&, icon&)
Var treeview& = Create("TreeView", %hwnd, il&, 16, 16, 240, 392)
LoadNewFile

While 1

    WaitInput
    Case %key=2: BREAK

    If MenuItem(100)

        LoadNewFile

    ElseIf MenuItem(200)

        BREAK

    Endif

EndWhile

End


Mal bei Gelegenheit schauen, ob man daraus nicht ein lecker Programm machen kann. *duck*
 
09.11.2010  
 



Zur Anwendung


Thementitel, max. 100 Zeichen.
 

Systemprofile:

Kein Systemprofil angelegt. [anlegen]

XProfan:

 Beitrag  Schrift  Smilies  ▼ 

Bitte anmelden um einen Beitrag zu verfassen.
 

Themenoptionen

5.081 Betrachtungen

Unbenanntvor 0 min.
Rainer Hoefs03.05.2023
p.specht14.09.2020
PETER195618.07.2018
Erfurt13.05.2018
Mehr...

Themeninformationen

Dieses Thema hat 1 Teilnehmer:

iF (1x)


Admins  |  AGB  |  Anwendungen  |  Autoren  |  Chat  |  Datenschutz  |  Download  |  Eingangshalle  |  Hilfe  |  Händlerportal  |  Impressum  |  Mart  |  Schnittstellen  |  SDK  |  Services  |  Spiele  |  Suche  |  Support

Ein Projekt aller XProfaner, die es gibt!


Mein XProfan
Private Nachrichten
Eigenes Ablageforum
Themen-Merkliste
Eigene Beiträge
Eigene Themen
Zwischenablage
Abmelden
 Deutsch English Français Español Italia
Übersetzungen

Datenschutz


Wir verwenden Cookies nur als Session-Cookies wegen der technischen Notwendigkeit und bei uns gibt es keine Cookies von Drittanbietern.

Wenn du hier auf unsere Webseite klickst oder navigierst, stimmst du unserer Erfassung von Informationen in unseren Cookies auf XProfan.Net zu.

Weitere Informationen zu unseren Cookies und dazu, wie du die Kontrolle darüber behältst, findest du in unserer nachfolgenden Datenschutzerklärung.


einverstandenDatenschutzerklärung
Ich möchte keinen Cookie