Bonjour,
j'utilise les informations fournies par le site p/invoke pour énumérer les ressources d'un programme. J'ai pris un programme au hasard dans mon pc. Il contient des ressources possédant des noms et d'autres possédant un ID.
L'énumération des types est correcte, celles de noms aussi. Seule l'énumération des langues pose problème.
L'appel de la fonction EnumResourceLanguages retourne false pour les seules ressources possédant un nom. Elle fonctionne bien avec les ressources ayant seulement un ID.
bool bret = EnumResourceLanguages(hModule, lpszType,
lpszName, new EnumResLangDelegate(EnumResLangCallback), lParam);
if (bret == false)
{
throw new Win32Exception(Marshal.GetLastWin32Error());
}
Le code d'erreur est inconnu. J'utilise Ps pour obtenir la valeur décimale, hexadécimale et le texte :
PS C:\Users\noel> [ComponentModel.Win32Exception] -532462766
Unknown error (0xe0434352)
Un extrait de l'affichage pour montrer l'anomalie :
Type : WEVT_TEMPLATE
Name: 1
erreur: -532462766
Type : XMLFILE
Name: 100
erreur: -532462766
Type : 2
Name: 1
Language: 1033
Name: 2
Language: 1033
Je joins mon code source pour faciliter la réponse.
Merci d'avance.
Partager