J'ai une appli dans laquelle un code que je ne contrôle pas fait un
LoadLibraryEx d'une dll pour ses ressources et donc, utilise le paramètre
LOAD_LIBRARY_AS_DATAFILE.
J'aurais besoin de connaître le nom du fichier chargé. Il semble que sur le
handle retourné, la fonction GetModuleFileName ne fonctionne pas (elle
retourne 0 et GetLastError ne retourne pas d'erreur).
Quelqu'un a une idée pour arriver au résultat (obtenir le nom du fichier) ?
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
François Müller
Bonjour
"jl" wrote in message news:3f423af7$0$26379 | J'ai une appli dans laquelle un code que je ne contrôle pas fait un | LoadLibraryEx d'une dll pour ses ressources et donc, utilise le paramètre | LOAD_LIBRARY_AS_DATAFILE. | | J'aurais besoin de connaître le nom du fichier chargé. Il semble que sur le | handle retourné, la fonction GetModuleFileName ne fonctionne pas (elle | retourne 0 et GetLastError ne retourne pas d'erreur).
La fonction GetModuleFileName fonctionne très bien, mais comment obtiens tu le handle que tu lui passe ?
| Quelqu'un a une idée pour arriver au résultat (obtenir le nom du fichier) ?
Enumérer les modules du process et utiliser GetModuleFileName sur chaque
F.
Bonjour
"jl" <jean@paris.com> wrote in message news:3f423af7$0$26379
| J'ai une appli dans laquelle un code que je ne contrôle pas fait un
| LoadLibraryEx d'une dll pour ses ressources et donc, utilise le paramètre
| LOAD_LIBRARY_AS_DATAFILE.
|
| J'aurais besoin de connaître le nom du fichier chargé. Il semble que sur
le
| handle retourné, la fonction GetModuleFileName ne fonctionne pas (elle
| retourne 0 et GetLastError ne retourne pas d'erreur).
La fonction GetModuleFileName fonctionne très bien, mais comment obtiens tu
le handle que tu lui passe ?
| Quelqu'un a une idée pour arriver au résultat (obtenir le nom du fichier)
?
Enumérer les modules du process et utiliser GetModuleFileName sur chaque
"jl" wrote in message news:3f423af7$0$26379 | J'ai une appli dans laquelle un code que je ne contrôle pas fait un | LoadLibraryEx d'une dll pour ses ressources et donc, utilise le paramètre | LOAD_LIBRARY_AS_DATAFILE. | | J'aurais besoin de connaître le nom du fichier chargé. Il semble que sur le | handle retourné, la fonction GetModuleFileName ne fonctionne pas (elle | retourne 0 et GetLastError ne retourne pas d'erreur).
La fonction GetModuleFileName fonctionne très bien, mais comment obtiens tu le handle que tu lui passe ?
| Quelqu'un a une idée pour arriver au résultat (obtenir le nom du fichier) ?
Enumérer les modules du process et utiliser GetModuleFileName sur chaque
F.
jl
Salut,
"François Müller" a écrit dans le message de news:bhtefh$309mi$
Bonjour
"jl" wrote in message news:3f423af7$0$26379 | J'ai une appli dans laquelle un code que je ne contrôle pas fait un | LoadLibraryEx d'une dll pour ses ressources et donc, utilise le
paramètre
| LOAD_LIBRARY_AS_DATAFILE. | | J'aurais besoin de connaître le nom du fichier chargé. Il semble que sur le | handle retourné, la fonction GetModuleFileName ne fonctionne pas (elle | retourne 0 et GetLastError ne retourne pas d'erreur).
La fonction GetModuleFileName fonctionne très bien, mais comment obtiens
tu
le handle que tu lui passe ?
C'est un handle obtenu par LoadLibraryEx(fn, 0, LOAD_LIBRARY_AS_DATAFILE) dans une partie de code que je ne connais pas. Ce handle est valide (des ressources sont chargées) mais GetModuleFileName retourne 0 (je teste sous XP) sans pour autant que GetLastError ne retourne quelque erreur que ce soit (FormatMessage donne Operation réussie).
Je viens de faire un test plus léger que mon appli complète et effectivement, avec un handle d'une dll chargée par LoadLibraryEx et LOAD_LIBRARY_AS_DATAFILE, la fonction GetModuleFileName retourne 0.
| Quelqu'un a une idée pour arriver au résultat (obtenir le nom du
fichier)
?
Enumérer les modules du process et utiliser GetModuleFileName sur chaque
Comment énumérer les modules (facilement, sans passer par ToolHelp32 qui n'existe pas sous NT) ?
Merci.
Jean
Salut,
"François Müller" <fc_muller_PAS_DE_SPAM@yahoo.es> a écrit dans le message
de news:bhtefh$309mi$1@ID-99230.news.uni-berlin.de...
Bonjour
"jl" <jean@paris.com> wrote in message news:3f423af7$0$26379
| J'ai une appli dans laquelle un code que je ne contrôle pas fait un
| LoadLibraryEx d'une dll pour ses ressources et donc, utilise le
paramètre
| LOAD_LIBRARY_AS_DATAFILE.
|
| J'aurais besoin de connaître le nom du fichier chargé. Il semble que sur
le
| handle retourné, la fonction GetModuleFileName ne fonctionne pas (elle
| retourne 0 et GetLastError ne retourne pas d'erreur).
La fonction GetModuleFileName fonctionne très bien, mais comment obtiens
tu
le handle que tu lui passe ?
C'est un handle obtenu par LoadLibraryEx(fn, 0, LOAD_LIBRARY_AS_DATAFILE)
dans une partie de code que je ne connais pas. Ce handle est valide (des
ressources sont chargées) mais GetModuleFileName retourne 0 (je teste sous
XP) sans pour autant que GetLastError ne retourne quelque erreur que ce soit
(FormatMessage donne Operation réussie).
Je viens de faire un test plus léger que mon appli complète et
effectivement, avec un handle d'une dll chargée par LoadLibraryEx et
LOAD_LIBRARY_AS_DATAFILE, la fonction GetModuleFileName retourne 0.
| Quelqu'un a une idée pour arriver au résultat (obtenir le nom du
fichier)
?
Enumérer les modules du process et utiliser GetModuleFileName sur chaque
Comment énumérer les modules (facilement, sans passer par ToolHelp32 qui
n'existe pas sous NT) ?
"François Müller" a écrit dans le message de news:bhtefh$309mi$
Bonjour
"jl" wrote in message news:3f423af7$0$26379 | J'ai une appli dans laquelle un code que je ne contrôle pas fait un | LoadLibraryEx d'une dll pour ses ressources et donc, utilise le
paramètre
| LOAD_LIBRARY_AS_DATAFILE. | | J'aurais besoin de connaître le nom du fichier chargé. Il semble que sur le | handle retourné, la fonction GetModuleFileName ne fonctionne pas (elle | retourne 0 et GetLastError ne retourne pas d'erreur).
La fonction GetModuleFileName fonctionne très bien, mais comment obtiens
tu
le handle que tu lui passe ?
C'est un handle obtenu par LoadLibraryEx(fn, 0, LOAD_LIBRARY_AS_DATAFILE) dans une partie de code que je ne connais pas. Ce handle est valide (des ressources sont chargées) mais GetModuleFileName retourne 0 (je teste sous XP) sans pour autant que GetLastError ne retourne quelque erreur que ce soit (FormatMessage donne Operation réussie).
Je viens de faire un test plus léger que mon appli complète et effectivement, avec un handle d'une dll chargée par LoadLibraryEx et LOAD_LIBRARY_AS_DATAFILE, la fonction GetModuleFileName retourne 0.
| Quelqu'un a une idée pour arriver au résultat (obtenir le nom du
fichier)
?
Enumérer les modules du process et utiliser GetModuleFileName sur chaque
Comment énumérer les modules (facilement, sans passer par ToolHelp32 qui n'existe pas sous NT) ?
Merci.
Jean
François Müller
"jl" wrote in message news:3f4242a0$0$26400
| | Je viens de faire un test plus léger que mon appli complète et | effectivement, avec un handle d'une dll chargée par LoadLibraryEx et | LOAD_LIBRARY_AS_DATAFILE, la fonction GetModuleFileName retourne 0.
J'avoue que j'avais bypassé le LOAD_LIBRARY_AS_DATAFILE. Dans ce cas, le GetModuleFileName ne peut pas te retourner quoique ce soit, puisque le module est vu comme une resource dans l'espace de donnée de l'entité exécutable et pas comme un module exécutable.
| Comment énumérer les modules (facilement, sans passer par ToolHelp32 qui | n'existe pas sous NT) ?
EnumProcessModules, mais, même motif, même punition : avec LOAD_LIBRARY_AS_DATAFILE cela ne marchera sans doute pas (pas essayé)
Accessoirement, pourquoi se chargement de module en tant qu'entité non exécutable ?
Sinon, essaie (sans garantie) avec EnumResourceName et EnumResourceType
A+
François
"jl" <jean@paris.com> wrote in message news:3f4242a0$0$26400
|
| Je viens de faire un test plus léger que mon appli complète et
| effectivement, avec un handle d'une dll chargée par LoadLibraryEx et
| LOAD_LIBRARY_AS_DATAFILE, la fonction GetModuleFileName retourne 0.
J'avoue que j'avais bypassé le LOAD_LIBRARY_AS_DATAFILE. Dans ce cas, le
GetModuleFileName ne peut pas te retourner quoique ce soit, puisque le
module est vu comme une resource dans l'espace de donnée de l'entité
exécutable et pas comme un module exécutable.
| Comment énumérer les modules (facilement, sans passer par ToolHelp32 qui
| n'existe pas sous NT) ?
EnumProcessModules, mais, même motif, même punition : avec
LOAD_LIBRARY_AS_DATAFILE cela ne marchera sans doute pas (pas essayé)
Accessoirement, pourquoi se chargement de module en tant qu'entité non
exécutable ?
Sinon, essaie (sans garantie) avec EnumResourceName et EnumResourceType
| | Je viens de faire un test plus léger que mon appli complète et | effectivement, avec un handle d'une dll chargée par LoadLibraryEx et | LOAD_LIBRARY_AS_DATAFILE, la fonction GetModuleFileName retourne 0.
J'avoue que j'avais bypassé le LOAD_LIBRARY_AS_DATAFILE. Dans ce cas, le GetModuleFileName ne peut pas te retourner quoique ce soit, puisque le module est vu comme une resource dans l'espace de donnée de l'entité exécutable et pas comme un module exécutable.
| Comment énumérer les modules (facilement, sans passer par ToolHelp32 qui | n'existe pas sous NT) ?
EnumProcessModules, mais, même motif, même punition : avec LOAD_LIBRARY_AS_DATAFILE cela ne marchera sans doute pas (pas essayé)
Accessoirement, pourquoi se chargement de module en tant qu'entité non exécutable ?
Sinon, essaie (sans garantie) avec EnumResourceName et EnumResourceType
A+
François
François Müller
Coquilles :
"François Müller" wrote in message
| resource dans l'espace de donnée de l'entité
-> reSsource -> espace de donnéeS
| Accessoirement, pourquoi se chargement -> Ce chargement
Pardon.
F.
Coquilles :
"François Müller" <fc_muller_PAS_DE_SPAM@yahoo.es> wrote in message
| resource dans l'espace de donnée de l'entité
-> reSsource
-> espace de donnéeS
| Accessoirement, pourquoi se chargement
-> Ce chargement