[R] Imprimer une image d'une DLL

Aide et conseils concernant AutoIt et ses outils.
Règles du forum
.
Répondre
Avatar du membre
Yle
Niveau 5
Niveau 5
Messages : 171
Enregistré le : mar. 21 avr. 2009 17:22
Localisation : La NORMANDIE -76
Status : Hors ligne

[R] Imprimer une image d'une DLL

#1

Message par Yle »

Bonjour à tous,

J'ai une DLL (Cartes.dll) dans laquelle j'ai 4 images au format BMP.
J'arrive à afficher ces images sur une Gui mais comment faire pour en imprimer une dans un fichier Excel.

L'Udf Excel veut à tout prix le chemin d'une image. Comment contourner le problème ?
QQ a t'il une idée ?
► Afficher le texte
PS : En pièce jointe ma DLL
Modifié en dernier par Yle le lun. 10 nov. 2014 22:08, modifié 1 fois.
Avatar du membre
jguinch
Modérateur
Modérateur
Messages : 2515
Enregistré le : lun. 14 févr. 2011 22:12
Status : Hors ligne

Re: [..] Imprimer une image d'une DLL

#2

Message par jguinch »

La fonction d'insertion d'image dans Excel attend un chemin de fichier.
Tu pourrais enregistrer l'image sur le disque dans un fichier temporaire, non ?
Yle a écrit : comment faire pour en imprimer une dans un fichier Excel
Imprimer, ou insérer ?
Le script, ça fait gagner beaucoup de temps... à condition d'en avoir beaucoup devant soi !
Avatar du membre
Yle
Niveau 5
Niveau 5
Messages : 171
Enregistré le : mar. 21 avr. 2009 17:22
Localisation : La NORMANDIE -76
Status : Hors ligne

Re: [..] Imprimer une image d'une DLL

#3

Message par Yle »

Oui mais on fait comment ?
As tu une idée?
Avatar du membre
jguinch
Modérateur
Modérateur
Messages : 2515
Enregistré le : lun. 14 févr. 2011 22:12
Status : Hors ligne

Re: [..] Imprimer une image d'une DLL

#4

Message par jguinch »

_GDIPlus_ImageSaveToFileEx je pense
Il n'y a pas la pièce jointe
Le script, ça fait gagner beaucoup de temps... à condition d'en avoir beaucoup devant soi !
Avatar du membre
Yle
Niveau 5
Niveau 5
Messages : 171
Enregistré le : mar. 21 avr. 2009 17:22
Localisation : La NORMANDIE -76
Status : Hors ligne

Re: [..] Imprimer une image d'une DLL

#5

Message par Yle »

Bonsoir,

Avec un peu de retard (pas de liaison là où j'étais), je viens de voir que ma DLL n'avait pas été fournie.
Je la télécharge de nouveau et je m'aperçois que si je veux "attacher" une DLL, je reçois un message : l'Extension dll n'est pas autorisée
J'ai renommé la dll en .log et çà a l'air de passer ???

Sinon en fouillant sur le site, j'ai retrouvé cet article de Tlem : http://www.autoitscript.fr/forum/viewtopic.php?p=3093 et celui ci : http://www.autoitscript.fr/forum/viewto ... dll#p43156

J'ai simplifié mon script :
► Afficher le texte
A partir de l'exemple fourni par Tlem, j'ai mis le mien avec ma dll (cartes.dll) mais aucun exemple ne fonctionne, aucun fichier ne se crée.
Pour info, je suis allé rechercher le nouvel UDF : ResourcesEx sur le site anglais

QQ a une idée ?
Fichiers joints
cartes.dll.log
Ma DLL
(280 Kio) Téléchargé 84 fois
Modifié en dernier par Yle le lun. 10 nov. 2014 18:23, modifié 1 fois.
Avatar du membre
jguinch
Modérateur
Modérateur
Messages : 2515
Enregistré le : lun. 14 févr. 2011 22:12
Status : Hors ligne

Re: [..] Imprimer une image d'une DLL

#6

Message par jguinch »

Tiens, justement Mikell vient de poster une réponse sur le forum US : http://www.autoitscript.com/forum/topic ... -from-exe/
Donc à peu de choses près, ça devrait donner un truc comme ça :
► Afficher le texte
Le script, ça fait gagner beaucoup de temps... à condition d'en avoir beaucoup devant soi !
Avatar du membre
Yle
Niveau 5
Niveau 5
Messages : 171
Enregistré le : mar. 21 avr. 2009 17:22
Localisation : La NORMANDIE -76
Status : Hors ligne

Re: [..] Imprimer une image d'une DLL

#7

Message par Yle »

_GDIPlus_BitmapCreateFromHICON fonctionne effectivement pour copier l'icône sur un fichier mais moi je veux extraire une image (bmp)

Y-a-t'il une fonction GDI appropriée pour DLL ? Je ne pense pas...
_Resource_GetAsImage est peut-être mieux mais je dois mal l'utiliser
Avatar du membre
mikell
Spammer !
Spammer !
Messages : 6292
Enregistré le : dim. 29 mai 2011 17:32
Localisation : Deep Cévennes
Status : Hors ligne

Re: [..] Imprimer une image d'une DLL

#8

Message par mikell »

Code : Tout sélectionner

#include <WinAPIGdi.au3>

$Load_Lib = _WinAPI_LoadLibrary(@ScriptDir & "\Cartes.dll")
$hC1 = _WinAPI_LoadImage($Load_Lib, "Card1", $IMAGE_BITMAP, 57,105, $LR_CREATEDIBSECTION + $LR_DEFAULTSIZE + $LR_SHARED + $LR_DEFAULTCOLOR )
_WinAPI_SaveHBITMAPToFile(@ScriptDir & "\card1.bmp", $hC1)
:wink:
" L'échec est le fondement de la réussite. " (Lao-Tseu )
" Plus ça rate, plus on a de chances que ça marche " (les Shadoks )
Avatar du membre
Yle
Niveau 5
Niveau 5
Messages : 171
Enregistré le : mar. 21 avr. 2009 17:22
Localisation : La NORMANDIE -76
Status : Hors ligne

Re: [R] Imprimer une image d'une DLL

#9

Message par Yle »

Suis allé chercher bien loin et je ne risquais pas de trouver
Bravo et merci pour cet _WinAPI_SaveHBITMAPToFile
Répondre