|
F5PBG > WIN2K 12.08.04 12:11l 132 Lines 3853 Bytes #999 (0) @ FRANCA
BID : 30646!F5PBG
Read: GUEST ON4EV
Subj: Rundll 32
Path: ON0AR<ON0AR<VE2PAK<F6BVP<F1HCI<F4CEP<F6KBI<F6KBI<F5PBG<F5PBG
Sent: 040729/1511Z 30646@F5PBG.#31.FMLR.FRA.EU [96186] FBB7.01.35 alpha
From: F5PBG@F5PBG.#31.FMLR.FRA.EU
To : WIN2K@FRANCA
Message 138/2004
<<
>
> Pourriez vous m'indiquer … quoi correspond "Rundll 32",
>
"Rundll.exe" (16 bis) et "rundll32.exe" (32 bits) est une application
qui permet d'ex‚cuter des fonctions contenues dans une DLL.
Une DLL n'est pas autonome, et ne peut ˆtre app‚l‚e qu'… partir d'un
programme.
Cela oblige donc … normalement d‚velopper une appli sp‚cifique pour
l'utiliser.
Rundll32 permet de se passer de cette phase, en chargeant et ex‚cutant
dynamiquement certaines DLL trŠs utiles et courantes.
Je dis bien "certaines", car elles doivent r‚pondre … certains
critŠres.
De plus, la syntaxe d'ex‚cution de rundll32 est trŠs stricte.
SYNTAXE
=======
RUNDLL32.EXE <nom_de_dll>,<point_d_entree> <arguments optionels>
1)nom_de_dll
------------
Comporte ou non le chemin complet de la DLL
(tout d‚pend de sa localisation, si son r‚pertoire fait partie ou non
de la variable d'environnement PATH)
ATTENTION : pour ‚viter tout pb, ce nom doit ˆtre le NOM COURT !!!
Aucun espace ou caractŠre "folklo" n'est autoris‚ !
p.ex. , si on veut appeller la DLL suivante
D:\Program Files\Microsoft Office\Office\autoclip.dll
il faudra taper (p.ex.) :
rundll32 d:\PROGRA~1\MICROS~1\OFFICE\autoclip.dll,ACBeginSearch
2)La VIRGULE
------------
Plac‚e entre le nom de la dll et le point d'entr‚e, elle est TRES
IMPORTANTE.
Elle doit ˆtre "coll‚e" entre eux, sans aucun espace.
3)Le point d'entr‚e
-------------------
C'est le nom de la fonction appel‚e dans la DLL.
Ces noms de fonctions sont commun‚ment d‚sign‚s sous l'appellation
d'API.
Prototype de cette fonction (pour les d‚veloppeurs) :
En 16 bits :
void FAR PASCAL __loadds
point_d_entree(HWND hwnd,HINSTANCE hinst,LPSTR lpszCmdLine, int nCmdShow);
En 32 bits :
void CALLBACK
point_d_entree(HWND hwnd, HINSTANCE hinst, LPSTR lpszCmdLine, int
nCmdShow);
NB: sous NT, le "point_d_entree" pourra ˆtre double :
- un suivi de "W", (UNICODE)
- un suivi de "A", (ANSI)
ParamŠtres du point d'entr‚e de la DLL
======================================
hwnd :
handle de fenˆtre propri‚taire des autres fenˆtres de la DLL
hinst :
handle d'instance de la DLL
lpszCmdLine :
chaine ASCIIZ de paramŠtres
nCmdShow :
flag d'affichage de la fenˆtre ‚ventuellement affich‚e
0 = cach‚e
1 = normal
2 = iconifi‚e
3 = maximale
...
Exemple :
RUNDLL.EXE SETUPX.DLL,InstallHinfSection 132 C:\WINDOWS\INF\SHELL.INF
-> Rundll appelle l'API "InstallHinfSection()" de "Setupx.dll" et lui passe
les parametres suivants :
hwnd =
handle de la fenˆtre dans laquelle on ex‚cute RUNDDL
hinst =
HINSTANCE de SETUPX.DLL
lpszCmdLine =
"132 C:\WINDOWS\INF\SHELL.INF"
nCmdShow =
(par d‚faut : normal)
Exemples pratiques
==================
1)Lancement direct d'un module du panneau de config
rundll32 shell32.dll,Control_RunDLL,tweakui.cpl
La il y a un double lancement !
On ex‚cute shell32.dll, en utilisant l'API "Control_RunDLL", auquel on
indique de charger le module de config de "TweakUI" (des powertoys)
2)Lancement d'une connexion … distance :
rundll rnaui.dll,RnaDial Free
dans cet exemple, "Free" est le nom de la connexion … distance
3)Cr‚ation d'un raccourci permettant de quitter Windows rapidement :
Sous Win9x :
rundll user.exe,exitwindows
Sous NT/W2k/XP :
rundll32 user32.dll,ExitWindowsEx
ATTENTION! ici "case sensitive" !.
Taper exactement "ExitWindowsEx" et non "exitwindowsex"
--
May the Force be with You!
La Connaissance s'accroŒt quand on la partage
----------------------------------------------------------
Jean-Claude BELLAMY [MVP] - http://www.bellamyjc.net
Jean-Claude.Bellamy@wanadoo.fr * JC.Bellamy@free.fr
>>
Read previous mail | Read next mail
| |