Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

DLL


Information sur la source

Catégorie :API Classé sous : tutorial, dll Niveau : Initié Date de création : 20/07/2000 Vu / téléchargé: 25 290 / 1 034

Note :
8,31 / 10 - par 26 personnes
8,31 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10

Commentaire sur cette source (7)
Ajouter un commentaire et/ou une note

Description

Bibliothèques de liaisons dynamiques(DLL)

- Définition

Une DLL est une bibliothèque contenant plusieurs fonctions API (Application Program Interface) qui sont des sous-prorammes généralement écrits en langage C. Les DLL ont la particularité de pouvoir être appelées dynamiquement pendant l'éxecution du programme.

Pour appeler une API dans une procédure Visual Basic , il faut obligatoirement la déclarer.Cette déclaration se fait pas une instruction "Declare" Placée dans un module.

Intérêts des DLL.

Les DLL réalisent des taches impossibles avec Visual Basic, améliorent les performances du programme et ont une vitesse d'éxecution très rapides.

- Les DLL de Windows.

Windows contient des DLL que l'on peut appeler depuis Visual Basic. Celles-ci constituent l'interface de programmation Windows ( API Windows).

Les bibliothèques de l'API Windows de la version 32 bits du système d'exploitation (windows 95, windows NT) se compose de trois DLL : User32, GDI32, Kernel32.

La bibliothèque "User32.dll " prend en charge les taches de gestion des fenêtres, des menus, des contrôles, des boîtes de dialogue..

Exemple: On peut appeler la procédure "Flashwindow" de la bibliothèque "User32.dll" pour faire clignoter une fenêtre.

La bibliothèque "Gdi32.DLL" gère les sorties graphiques.

La bibliothèque "Kernel32.dll" prend en charge les tâches du système d'exploitation.

Exemple : on peut appeler la procédure "Getwindowsdirectory" de la bibliothèque "Kernel32.dll" pour obtenir le chemin du dossier Windows.

Application : Programme détectant le nom du dossier Windows à l'aide de l'API "GetwindowsdirectoryA".

- Sélectionner la commande Nouveau projet dans le menu Fichier ou appuyez sur Ctrl+N.

- Insérer un contrôle "TextBox" et un contrôle "CommandButton" dans la feuille du projet.

Contrôles Name
CommandButton Command1
TextBox Text1


Quide de développement.

Voici la déclaration de l'API "GetwindowsdirectoryA" et sert à détecter le nom du dossier "windows". Cette API est disponible dans la bibliothèque "Kernel32.dll" fournie avec Windows.

Avant d'utiliser cette API il faut tout d'abord la déclarer dans un module que l'on doit ajouter au projet.

Double-cliquer sur le menu "Projet", sélectionner "Ajouter un module"et ouvrir "Nouveau module" puis saisisser les lignes de codes suivantes.

Declare Function cherche Lib "kernel32" Alias "GetWindowsDirectoryA" (ByVal lpBuffer As String, ByVal nSize As Long) As Long

Ici on déclare la procédure "cherche" sous le nom de l'API "GetWindowsDirectoryA" qui existe dans la bibliothèque (Lib) "Kernel32" de windows . L'instruction Alias Indique que la procédure appelée (cherche) possède un autre nom dans la DLL qui est "GetWindowsDirectoryA".

L'API "GetWindowsDirectoryA" à besoin de deux paramètres ( lpBuffer et nSize ) pour fonctionner.

"Byval lpBuffer As string" fait passer la valeur de l'argument "lpBuffer" à la procédure "cherche" et déclare cet argument en tant que chaîne de caractères.

"ByVal nSize As Long" fait passer la valeur de l'argument "nSize" à la procédure "cherche" et déclare cet argument en tant qu'entier long (Long).
A la fin de la déclaration, on trouve la déclaration "As Long"qui veut dire que la fonction "cherche" elle même est de type entier long (Long), c'est à dire que le résultat de la fonction "cherche" est un entier long.

Double-cliquer sur le bouton "Command1" pour saisir le code qui lui est attaché.

Private Sub Command1_Click()
Dim dossier As String
Dim taille As Long
Dim rep as string dossier = String(255, 0)
taille = cherche(dossier, Len(dossier))
rep = Left(dossier, taille)
Text1.Text = rep
End Sub

L'instruction dossier = String(255, 0) renvoie à la variable "dossier" une chaîne vide (0) de 255 caractères.

N.B :

Les codes de caractères de type String sont compris entre 0 et 255. Les 128 premiers caractères (0 à 127) du jeu de caractères correspondent aux lettres et symboles d'un clavier américain standard. Ces 128 caractères sont identiques à ceux du jeu de caractères ASCII. Les 128 caractères suivants (128 à 255) représentent des caractères spéciaux, comme les lettres de certains alphabets, les accents, les symboles monétaires et les fractions.

L'instruction taille = cherche(dossier, Len(dossier)) renvoie à la variable "taille" la longueur de la chaîne représantant le chemin du dossier windows. C'est que la fonction "cherche" qui représente ici l'API "GetWindowsDirectoryA" écrit dans la variable "dossier" de longueur 255 (Len(dossier) = 255) le nom du chemin de notre répertoire Windows et elle renvoie le nombre de caractères représantant ce chemin à une autre variable "taille".

Linstruction rep = Left(dossier, taille) délimite, à partir de l'extrémité gauche ( left) de la chaîne "dossier", une sous-chaîne de caractères dont la longueur est égale au nombre de caractères représentant le chemin du répertoire Windows. C'est un coup de ciseau pour ne retenir de la chaîne "dossier" que la partie pleine.

Exemple

dossier = "C:\windows-------------------------------"

taille = 10.

rep = C:\windows

"---------": chaîne vide

L'instruction Text1.Text = rep affiche dans la zone de texte "Text1" le contenu de la variable "rep" qui n'est autre que le chemin du répertoire windows.

- Télécharger le programme.




* Par Ahmed Attaouile *

 

Fichier Zip

Pour les "Membres Club", vous pouvez télécharger directement un fichier contenu dans le zip sans télécharger le zip en entier !

Télécharger le zip

Commentaires et avis

signaler à un administrateur
Commentaire de DARKSIDIOUS le 19/11/2002 12:59:49 administrateur CS

C'est un très bonne explication, bravo, 9/10

DARK SIDIOUS

signaler à un administrateur
Commentaire de ScRiPtLoVer le 23/02/2003 17:05:27

Exact trés Bonne explication!!        10/10
rien a dire !!
@+

signaler à un administrateur
Commentaire de ScRiPtLoVer le 23/02/2003 17:05:39

Exact trés Bonne explication!!        10/10
rien a dire !!
@+

signaler à un administrateur
Commentaire de nov le 17/12/2003 10:51:05

Et comment fait on, lorsque la fonction comporte dans ces parametres des structures, pour déclarer les structures ???
Exemple : la fonction createProcess dans kernel32 comporte des structures comme SECURITY_ATTRIBUTES
Je n'arrive pas à trouver la définition des structures.

Merci par avance.

signaler à un administrateur
Commentaire de squalyl le 30/12/2003 18:09:37

c'est niveau initié , ca?

signaler à un administrateur
Commentaire de ana_adil le 28/10/2004 16:46:40

Est ce qu'on peux faire un dll en vb?

signaler à un administrateur
Commentaire de bizmoute le 05/10/2006 01:10:14

Très bien comme explication (10/10)
merci!

Ajouter un commentaire

Discussions en rapport avec ce code source dans le forum

Librairie DLL [ par Jeff ] J'aimerai avoir des idees generales sur l'utilisation des DLL au sein de routines VB. créer un service !! help [ par nilrem ] salut,j'ai essayé de créer un service en VB mais ca ne marche pasil me dit a la compilation :"point d'entrée registerserviceprocess d'une dll introuva .EXE et VB5FR.DLL [ par hpfx ] Comment faire pour se debarraser de VB5FR.DLLJ'aimerais faire un .EXE qui ne necessite que le runtime : MsVbVm5.DLL (ou qqchose comme ca) mais en tou ActiveX.exe et ActiveX.dll [ par Philtous ] Salut à vous, J'aimerais savoir si c'est possible de me donner un exemple simple (facile à comprendre) d'un ActiveX.exe ou .dll en VB.Merci,Philippe compiler un source en EXE [ par Patrice ] Bonjour à tous,Je sais qu'on peut compiler un source avec Visual Basic mais quand on met ce EXEsur un autre Ordinateur le programme ne peut fonctionne Utilisation de NETAPI.DLL [ par JMB ] SE: Windows 3.11Outils : VB4 16 bitsJe cherche à partager un disque ou une imprimante à partir de VB4 16 bits.Les fonctions nécessaires sont je pense dll permettant affichage pages HTML [ par delph ] Y a t-il une dll, qui permet l'affichage de pages HTML sans passé par Microsoft Internet Explorer.Merci d'avance pour vos réponse pb avec vbajet32.dll [ par sylvia ] j'utilise vb et access. Mon programme fonctionne très bien chez moi une fois compilé, mais lorsque j'éssaye je le lance après installation sur un autr


Nos sponsors

Sondage...

CalendriCode

Juillet 2009
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
2728293031  

Consulter la suite du CalendriCode

Téléchargements

Logiciels à télécharger sur le même thème :

Comparez les prix Nouvelle version

Photothèque Nouveau !



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 0,562 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.