I.T.A.G (DTS1)

Ce forum incha allah aura pour but d aider les etudiant de la DTS1 a en plus savoir cotee cours et tt que sa soit reseau ou devlopment
 
AccueilPortailFAQRechercherS'enregistrerMembresGroupesConnexion

Partagez | 
 

 Attaquer les tréfonds de Windows /dll, api, ocx... et sos !

Aller en bas 
AuteurMessage
ultrasur
moderateur
moderateur
avatar

Messages : 200
Date d'inscription : 11/02/2008
Age : 31

MessageSujet: Attaquer les tréfonds de Windows /dll, api, ocx... et sos !   Mer 13 Fév - 8:29

Gare à la casse et sus à la migraine ! Dans cette rapide présentation, on va voir quelques (je dis bien quelques) éléments permettant d’aller plus loin avec VB. En fait, on va voir comment VB peut (mais ce n’est pas obligé) utiliser des éléments de Windows pour améliorer ses (vos) performances. Mais là, inutile de préciser qu’entrant de plain-pied dans le domaine ésotérique de l’architecture de Windows, on n’est pas au bout de nos peines.
1. Le rôle des DLL
Vous savez sans doute (ne serait-ce que pour avoir supprimé un jour par mégarde) que ces fameuses DLL jouent un rôle capital dans Windows. Mais que se cache-t-il derrière cet acronyme byzantin ? Eh bien, ce sont des "bibliothèques de liens dynamiques", autrement dit des Dynamic Link Libraries. Ces DLL contiennent du code compilé (donc illisible) exécutant telles ou telles fonctions dans Windows.
Par exemple, vous avez déjà remarqué que dans Windows, certaines boîtes de dialogue ont une tête standard, toujours la même quelle que soit l'application : Fichier – Ouvrir, Fichier - Enregistrer, Fichier – Imprimer, Format - Police, et quelques autres encore. Ce n'est pas un hasard : ces boîtes sont en quelques sorte préprogrammées, et n’importe quel programmeur (dont vous-mêmes, public adoré), au lieu de se fader de les reproduire avec plus ou moins de bonheur, peut se contenter d’y faire appel.
En fait, quel que soit le logiciel de départ, lorsqu'on déclenche par exemple la commande Fichier - Imprimer, c'est toujours le même morceau de code externe à ce logiciel qui s'exécute .
Pour continuer avec notre exemple, Comdlg32.dll est le doux nom de la DLL qui contient ce code nécessaire à l’exécution de boîtes de dialogue communes (d’où son titre, abréviation de "Common Dialog") aux applications Windows qui veulent s’en servir.
Donc, lorsque Word ou Excel vous proposent ces boîtes de dialogue, il faut comprendre que les lignes de code correspondantes ne font pas à proprement partie de Word ou Excel. Ces lignes de code sont stockées (une seule fois, donc) dans cette DLL. Word et Excel, eux, se contentent d’appeler la DLL, autrement dit le code qu’elle contient.
Il en va de même pour toutes les DLL, qui sont donc des morceaux de programme utilisables par d’autres programmes. Cela signifie que lorsque vous écrivez du VB, vous n’êtes pas obligé de réinventer à chaque fois l’eau tiède, la poudre à maquiller et le fil à couper le roquefort. Si une DLL contient déjà le code qui fait ce que vous souhaitez, vous pouvez (c’est même recommandé) appeler cette DLL plutôt que réécrire – généralement, moins bien – le code en question en VB.
Avec VB, vous pouvez donc :
utiliser du code déjà présent dans Windows via une DLL
et même, créer de surcroît vos propres DLL (mais, là, attention les yeux, ça dépasse nettement les objectifs de ce cours.)
Vous l'aurez compris, on se contentera du premier point (quoique le second ne soit pas si inabordable que cela).
Alors, au fait, pourquoi « lien dynamique » ? C’est une question d’architecture. Un langage qui fonctionne avec des liens statiques incorpore à l’exécutable absolument tous les éléments de code dont il a besoin (cf. ce qu’on a dit, par exemple, pour le chargement des fichiers dans un contrôle image). Avantage, l’exécutable est autonome, et portable tel quel sur n’importe quel machine. Inconvénient, l’exécutable en question a tendance a être gros. L’avantage des langages et des systèmes fonctionnant avec des liens dynamiques, c’est que le code souvent utilisé est en quelque sorte partagé entre tous les exécutables qui en ont besoin à un moment où à un autre.
Avantage : s’il y a plein d’exécutables, on finit par y gagner en place occupée sur l’ordinateur. Inconvénient, l’exécutable généré par un tel langage ne fonctionnera que s’il trouve présentes sur la machine toutes les DLL dont il a besoin. C’est précisément un des aspects cruciaux dont s’occupe l’assistant d’installation de Visual Basic.
En fait, avec cette histoire de DLL, on retrouve peu ou prou à un autre niveau la division entre « logiciel d’application » et « système d’exploitation » qui existe depuis si longtemps en informatique. Mais là, la zone d’influence du « système d’exploitation », disons plutôt de Windows, dépasse largement la gestion du disque dur et de l’écran. Les DLL contiennent du code gérant (liste non exhaustive) : l’interface graphique, les capacités multimédia
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://www.realmadridclub.net
 
Attaquer les tréfonds de Windows /dll, api, ocx... et sos !
Revenir en haut 
Page 1 sur 1
 Sujets similaires
-
» Extorsion de fonds
» Règlement en vigueur sur les salons - fonds d'archives -
» Un surfeur marseillais se fait attaquer par un requin
» Cimetière de Chaux-de-Fonds
» Les Détournements de Fonds d'ARAFAT et de sa Famille

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
I.T.A.G (DTS1) :: Cours de Réseaux et Development :: Devlopment :: cours-
Sauter vers: