Salut,
Ta question m'a fait penser à la démo "ResXplor" fournit avec Delphi 6. C'est juste une démo, donc elle va pas chercher bien loin, mais quand même :

[troll]
Ma fois si tu veux te mettre au Delphi, c'est l'occasion.
Delphi 6.Serial.[/troll]
Je viens de jeter un coup d'oeil au code.
Globalement, c'est basé sur le format PE.
Référence ici.Il ouvre le fichier en le mappant CreateFile/CreateFileMapping/MapViewOfFile.
Puis il lit l'entête pour trouver les ressources.
C'est un petit jeu avec des pointeurs, et en utilisant quelques structures style
IMAGE_NT_HEADERS.
Rien de compliqué, tout est détaillé dans la doc.
Pour charger les bitamps, il utilise une fonction Delphi (LoadFromStream).
Pour les icônes il a l'air d'utiliser
CreateIconFromResource qui prend un pointeur en argument.
Concernant la récupération d'un HMODULE sans exécuter le .exe... MapViewofFile prend en argument FILE_MAP_EXECUTE, et il me semble qu'il y a une autre méthode pour charger un fichier de la même manière que le loader de windows, mais je n'ai plus le nom de la fonction en tête.