Page 1 sur 1

[R] Lire le texte contenu dans une dll

Posté : lun. 19 juil. 2010 09:43
par Vins83
Bonjour à tous.

Le sujet a surement était traité, mais j'ai un peu de mal avec les dll :oops:

Je voudrais lire le texte contenu dans une dll.

Voilà ce que j'ai :

Code : Tout sélectionner

@%systemroot%\system32\borwser.dll,-100
Comment je fais pour transformer le tout en texte ?

Cordialement

Re: [..]Lire le texte contenu dans une dll

Posté : lun. 19 juil. 2010 11:28
par ani
Bonjour vins83,

lecture de texte d'une librairie, il faut utiliser les fonctions _winapi_load* & free.

Code : Tout sélectionner

#include <WinAPI.au3>
#include <Constants.au3>
$hinstance = _WinAPI_LoadLibraryEx("%systemroot%\system32\borwser.dll", $LOAD_LIBRARY_AS_DATAFILE)
$LoadString = _WINAPI_LoadString($hinstance,100)
msgbox(0,"test",$LoadString)
_WinAPI_FreeLibrary($hinstance)
ou

Code : Tout sélectionner

#include <WinAPI.au3>
$hinstance = _WinAPI_LoadLibrary("%systemroot%\system32\borwser.dll")
$LoadString = _WINAPI_LoadString($hinstance,100)
msgbox(0,"test",$LoadString)
_WinAPI_FreeLibrary($hinstance)
celui-ci doit te retourner tout le texte inclus dans la bibliotheque.

Code : Tout sélectionner

#include <WinAPI.au3>
Global $hinstance = _WinAPI_LoadLibrary("systemroot%\system32\borwser.dll")
for $x = 0 to 65536
Global $LoadString = _WINAPI_LoadString($hinstance,$x)
If $LoadString = "" then ContinueLoop
ConsoleWrite($x & "=" & $LoadString & @CR)
Next
_WinAPI_FreeLibrary($hinstance)
Pourquoi 65536 je te laisse chercher ;)
indice c'est le multiple de ... :D

j'ai pas cette dll çà ne serait pas plutôt Browser.dll qui se trouve dans system32 ?
Si c'est le cas tu n'es pas obligé d'indiquer le lien %systemroot%\....mais juste le nom de la dll dans la fonction _WinAPI_LoadLibrary.
exemple
_WinAPI_LoadLibrary("borwser.dll")
par défault le dossier est la macro @systemdir

voilàvoilà ; )