[Tuto] DllCall & DllStructs

Espace contenant des tutoriels divers concernant AutoIt.
Règles du forum
.

Tutoriel "La programmation avec Autoit" : https://openclassrooms.com/fr/courses/1 ... vec-autoit
Répondre
SagePourpre
Niveau 7
Niveau 7
Messages : 442
Enregistré le : dim. 06 juil. 2008 09:11
Status : Hors ligne

[Tuto] DllCall & DllStructs

#1

Message par SagePourpre »

[Edit par timmalos]
Vous souhaitez en savoir plus sur les Dll? Vous etes au bon endroit !

Je suis tombé il y a quelques temps sur un tutoriel sur le forum anglais pour apprendre à utiliser les DllCall. Je le trouvais très intéressant et j'ai donc décidé de le partager. Vous trouverez donc ci-dessous une version traduite en français et la version originale.


Version originale
http://www.autoitscript.com/forum/index ... opic=93496

Version traduite
Traiter avec les Dlls dans AutoIt.zip
(126.86 Kio) Téléchargé 1264 fois
Contributeurs: Traduction des 5 premieres parties par timmalos et des 2 dernières par Jerome. Diverses corrections et mise en forme effectués par Tlem


[Edit par Tlem]
Voici aussi un sujet du forum Anglais, traitant de DLL standard et non standard.
http://www.autoitscript.com/forum/index ... pic=120061
Le Sage Pourpre, pour qui la vie est tellement
plus belle vue du haut de son Pouf = )
zarnergun
Niveau 3
Niveau 3
Messages : 46
Enregistré le : lun. 27 juin 2011 21:21
Status : Hors ligne

Re: [Tuto] DllCall & DllStructs

#2

Message par zarnergun »

Petit soucis : Il est écris page 5 : "Pour passer un paramètre en tant que référence, il vous suffit d'ajouter un '*' devant le type du paramètre.
Voici un exemple ci-dessous"

Et l'exemple dit :

Code : Tout sélectionner

$calldata = DllCall("Kernel32.dll", "int", "GetDiskFreeSpaceW", "wstr", "C:\", "dword*", 
$SectorsPerCluster, "dword*", $BytesPerSector, "dword*", $NumberOfFreeClusters, "dword*", 
$TotalNumberOfClusters)
Selon l'exemple le * a tout l'air d’être derrière le type et non devant

;)
Avatar du membre
timmalos
Niveau 11
Niveau 11
Messages : 1970
Enregistré le : dim. 18 mai 2008 15:16
Status : Hors ligne

Re: [Tuto] DllCall & DllStructs

#3

Message par timmalos »

La correction a été effectuée, et le sujet mis à jour. Merci pour la remontée ;)
Avatar du membre
DimVar
Niveau 10
Niveau 10
Messages : 867
Enregistré le : ven. 30 mai 2008 15:08
Status : Hors ligne

Re: [Tuto] DllCall & DllStructs

#4

Message par DimVar »

Bonjour,

D'abord merci pour ce Tuto :)

J'en suis au tout début et je bloque deja.
Comment connaitre dans le 2e exercice (GetCurrentProcessId) le type de "structure de données" (2e paramètre de la fonction DLLCALL) ?
J'ai mis au pif BOOL et ça marche mais je préférerais éviter de "coder au pif" :mrgreen:

D'avance merci.
N'évoquons pas la pierre, les jeunes risqueraient d'en poire !
Avatar du membre
Tlem
Site Admin
Site Admin
Messages : 11773
Enregistré le : ven. 20 juil. 2007 21:00
Localisation : Bordeaux
Status : Hors ligne

Re: [Tuto] DllCall & DllStructs

#5

Message par Tlem »

Hé bien tout simplement en utilisant la documentation de la commande sur le MSDN !!!
Thierry

Rechercher sur le forum ----- Les règles du forum
Le "ça ne marche pas" est une conséquence commune découlant de beaucoup trop de raisons potentielles ...

Une idée ne peut pas appartenir à quelqu'un. (Albert Jacquard) tiré du documentaire "Copié n'est pas volé".
Avatar du membre
DimVar
Niveau 10
Niveau 10
Messages : 867
Enregistré le : ven. 30 mai 2008 15:08
Status : Hors ligne

Re: [Tuto] DllCall & DllStructs

#6

Message par DimVar »

Lire la doc, j'y aurais pas pensé ! :mrgreen:
N'évoquons pas la pierre, les jeunes risqueraient d'en poire !
Répondre