Je tente toujours de récupérer l'icone d'un programme .exe
Je suis sous W98SE
Je n'arrive pas à obtenir le résultat de la procédure suivante :
Pouvez-vous la faire tourner ?
hIcon, hInst, nIconIndex, hdc est un entier
szExeFileName is ASCIIZ string on 260 = NomFichier // contient le
nom du fichier et de son répertoire
nIconIndex = 1 // pour récupérer la 1ère icone
hInst=Instance()
IF hIcon>0 THEN
dEndDrawing()
hdc=dStartDrawing("ICONE") // ICONE est un champ image
CallDLL32("user32","DrawIcon",hdc,0,0,hIcon)
// dsaveimage("ICONE","blabla.bmp")
CallDLL32("user32","DestroyIcon",hIcon)
END
Merci d'avance
--
Ceci est une signature automatique de MesNews.
Site : http://mesnews.no-ip.com
Ce sont des suppositions car je ne suis pas exepert API :-0 -- Michel Herrscher Consultant Président de WindevAsso - Association des Développeurs WINDEV(c) http://www.windevasso.org Tel=+33 450 870912 Fax=+33 450 871741 GSM=+33 609044711
Dans un message GP disait :
hIcon, hInst, nIconIndex, hdc est un entier
et avec
hIcon, hInst, nIconIndex, hdc est un entier long ?
szExeFileName is ASCIIZ string on 260 = NomFichier // contient le
nom du fichier et de son répertoire
nIconIndex = 1 // pour récupérer la 1ère icone
Ce sont des suppositions car je ne suis pas exepert API :-0
--
Michel Herrscher Consultant
Président de WindevAsso - Association des Développeurs WINDEV(c)
http://www.windevasso.org
Tel=+33 450 870912 Fax=+33 450 871741 GSM=+33 609044711
Ce sont des suppositions car je ne suis pas exepert API :-0 -- Michel Herrscher Consultant Président de WindevAsso - Association des Développeurs WINDEV(c) http://www.windevasso.org Tel=+33 450 870912 Fax=+33 450 871741 GSM=+33 609044711
Romain PETIT
"Michel Herrscher" a formulé ce samedi :
nIconIndex = 1 // pour récupérer la 1ère icone
peut être 0 non ?
Oui, 0 est bien le premier index (il n'y a bien que WD pour commencer les index à 1...)
-- Romain PETIT http://cerbermail.com/?IJmancZl88 (cliquez sur le lien ci-dessus pour me contacter en privé)
"Michel Herrscher" a formulé ce samedi :
nIconIndex = 1 // pour récupérer la 1ère icone
peut être 0 non ?
Oui, 0 est bien le premier index (il n'y a bien que WD pour commencer
les index à 1...)
--
Romain PETIT
http://cerbermail.com/?IJmancZl88
(cliquez sur le lien ci-dessus pour me contacter en privé)
Oui, 0 est bien le premier index (il n'y a bien que WD pour commencer les index à 1...)
-- Romain PETIT http://cerbermail.com/?IJmancZl88 (cliquez sur le lien ci-dessus pour me contacter en privé)
Romain PETIT
"GP" a émis l'idée suivante :
Je n'arrive pas à obtenir le résultat de la procédure suivante : Pouvez-vous la faire tourner ?
Voilou :
eHandleIcone, eHandleInstance, eIndexIcone, eHandleDC sont des entiers sNomFichierExe est une chaîne =SysRep(Faux)+"SHELL32.DLL" // fichier EXE, DLL, ICO... sNomFichierBMP est une chaîne sNomChampImage est une chaîne = "ICONE" // nom du champ image szNomFichierEXE est une chaîne ASCIIZ sur 255 = sNomFichierExe c est un entier eHandleInstance=Instance()
eIndexIcone = 0 //1er index BOUCLE eHandleIcone=API("Shell32","ExtractIconA",eHandleInstance,&szNomFichierEXE,eIndexIcone) SI eHandleIcone>0 ALORS sNomFichierBMP = ComplèteRep(fRepExe())+fExtraitChemin(sNomFichierExe, fFichier)+"_"+NumériqueVersChaine(eIndexIcone)+".BMP" dFinDessin() eHandleDCÝébutDessin(sNomChampImage) API("user32","DrawIcon",eHandleDC,0,0,eHandleIcone) dSauveImageBMP(sNomChampImage,sNomFichierBMP) API("user32","DestroyIcon",eHandleIcone) eIndexIcone++ SINON SORTIR FIN FIN
A+
-- Romain PETIT http://cerbermail.com/?IJmancZl88 (cliquez sur le lien ci-dessus pour me contacter en privé)
"GP" a émis l'idée suivante :
Je n'arrive pas à obtenir le résultat de la procédure suivante :
Pouvez-vous la faire tourner ?
Voilou :
eHandleIcone, eHandleInstance, eIndexIcone, eHandleDC sont des entiers
sNomFichierExe est une chaîne =SysRep(Faux)+"SHELL32.DLL" // fichier
EXE, DLL, ICO...
sNomFichierBMP est une chaîne
sNomChampImage est une chaîne = "ICONE" // nom du champ image
szNomFichierEXE est une chaîne ASCIIZ sur 255 = sNomFichierExe
c est un entier
eHandleInstance=Instance()
eIndexIcone = 0 //1er index
BOUCLE
eHandleIcone=API("Shell32","ExtractIconA",eHandleInstance,&szNomFichierEXE,eIndexIcone)
SI eHandleIcone>0 ALORS
sNomFichierBMP =
ComplèteRep(fRepExe())+fExtraitChemin(sNomFichierExe,
fFichier)+"_"+NumériqueVersChaine(eIndexIcone)+".BMP"
dFinDessin()
eHandleDCÝébutDessin(sNomChampImage)
API("user32","DrawIcon",eHandleDC,0,0,eHandleIcone)
dSauveImageBMP(sNomChampImage,sNomFichierBMP)
API("user32","DestroyIcon",eHandleIcone)
eIndexIcone++
SINON
SORTIR
FIN
FIN
A+
--
Romain PETIT
http://cerbermail.com/?IJmancZl88
(cliquez sur le lien ci-dessus pour me contacter en privé)
Je n'arrive pas à obtenir le résultat de la procédure suivante : Pouvez-vous la faire tourner ?
Voilou :
eHandleIcone, eHandleInstance, eIndexIcone, eHandleDC sont des entiers sNomFichierExe est une chaîne =SysRep(Faux)+"SHELL32.DLL" // fichier EXE, DLL, ICO... sNomFichierBMP est une chaîne sNomChampImage est une chaîne = "ICONE" // nom du champ image szNomFichierEXE est une chaîne ASCIIZ sur 255 = sNomFichierExe c est un entier eHandleInstance=Instance()
eIndexIcone = 0 //1er index BOUCLE eHandleIcone=API("Shell32","ExtractIconA",eHandleInstance,&szNomFichierEXE,eIndexIcone) SI eHandleIcone>0 ALORS sNomFichierBMP = ComplèteRep(fRepExe())+fExtraitChemin(sNomFichierExe, fFichier)+"_"+NumériqueVersChaine(eIndexIcone)+".BMP" dFinDessin() eHandleDCÝébutDessin(sNomChampImage) API("user32","DrawIcon",eHandleDC,0,0,eHandleIcone) dSauveImageBMP(sNomChampImage,sNomFichierBMP) API("user32","DestroyIcon",eHandleIcone) eIndexIcone++ SINON SORTIR FIN FIN
A+
-- Romain PETIT http://cerbermail.com/?IJmancZl88 (cliquez sur le lien ci-dessus pour me contacter en privé)
Romain PETIT
"GP" avait soumis l'idée :
Pouvez-vous la faire tourner ? hIconÊllDLL32("Shell32.dll","ExtractAssociatedIconA",hInst,&szExeFileName,nIconIndex)
En fait, tu te trompes d'API : ExtractAssociatedIconA permet d'extraire l'icone associée à un fichier par Windows, pas à un exécutable. Par exemple, pour récupérer l'icone représentant un projet WD en passant en paramètre à ExtractAssociatedIconA un fichier WDP.
La bonne API pour récupérer l'icone d'un EXE, d'une DLL, d'un bibliothèque d'icones ou d'un ICO, est ExtractIconA (cf mon post plus bas).
A+
-- Romain PETIT http://cerbermail.com/?IJmancZl88 (cliquez sur le lien ci-dessus pour me contacter en privé)
"GP" avait soumis l'idée :
Pouvez-vous la faire tourner ?
hIconÊllDLL32("Shell32.dll","ExtractAssociatedIconA",hInst,&szExeFileName,nIconIndex)
En fait, tu te trompes d'API : ExtractAssociatedIconA permet d'extraire
l'icone associée à un fichier par Windows, pas à un exécutable.
Par exemple, pour récupérer l'icone représentant un projet WD en
passant en paramètre à ExtractAssociatedIconA un fichier WDP.
La bonne API pour récupérer l'icone d'un EXE, d'une DLL, d'un
bibliothèque d'icones ou d'un ICO, est ExtractIconA (cf mon post plus
bas).
A+
--
Romain PETIT
http://cerbermail.com/?IJmancZl88
(cliquez sur le lien ci-dessus pour me contacter en privé)
Pouvez-vous la faire tourner ? hIconÊllDLL32("Shell32.dll","ExtractAssociatedIconA",hInst,&szExeFileName,nIconIndex)
En fait, tu te trompes d'API : ExtractAssociatedIconA permet d'extraire l'icone associée à un fichier par Windows, pas à un exécutable. Par exemple, pour récupérer l'icone représentant un projet WD en passant en paramètre à ExtractAssociatedIconA un fichier WDP.
La bonne API pour récupérer l'icone d'un EXE, d'une DLL, d'un bibliothèque d'icones ou d'un ICO, est ExtractIconA (cf mon post plus bas).
A+
-- Romain PETIT http://cerbermail.com/?IJmancZl88 (cliquez sur le lien ci-dessus pour me contacter en privé)
GP
Bonjour et merci à tous
Merci particulièrement à toi Romain : ton code est Ok Tu as raison pour ExtracIconA mais je n'étais pas arrivé à un résultat, alors j'ai essayé avec ExtractAss.. Merci encore : çà parait tellement facile quand c'est écrit correctement !!!
A bientôt Cordialement
Après mure réflexion, "Romain PETIT" a écrit :
"GP" avait soumis l'idée :
Pouvez-vous la faire tourner ? hIconÊllDLL32("Shell32.dll","ExtractAssociatedIconA",hInst,&szExeFileName,nIconIndex)
En fait, tu te trompes d'API : ExtractAssociatedIconA permet d'extraire l'icone associée à un fichier par Windows, pas à un exécutable. Par exemple, pour récupérer l'icone représentant un projet WD en passant en paramètre à ExtractAssociatedIconA un fichier WDP.
La bonne API pour récupérer l'icone d'un EXE, d'une DLL, d'un bibliothèque d'icones ou d'un ICO, est ExtractIconA (cf mon post plus bas).
A+
-- Ceci est une signature automatique de MesNews. Site : http://mesnews.no-ip.com
Bonjour et merci à tous
Merci particulièrement à toi Romain : ton code est Ok
Tu as raison pour ExtracIconA mais je n'étais pas arrivé à un résultat,
alors j'ai essayé avec ExtractAss..
Merci encore : çà parait tellement facile quand c'est écrit
correctement !!!
A bientôt
Cordialement
Après mure réflexion, "Romain PETIT" a écrit :
"GP" avait soumis l'idée :
Pouvez-vous la faire tourner ?
hIconÊllDLL32("Shell32.dll","ExtractAssociatedIconA",hInst,&szExeFileName,nIconIndex)
En fait, tu te trompes d'API : ExtractAssociatedIconA permet d'extraire
l'icone associée à un fichier par Windows, pas à un exécutable.
Par exemple, pour récupérer l'icone représentant un projet WD en passant en
paramètre à ExtractAssociatedIconA un fichier WDP.
La bonne API pour récupérer l'icone d'un EXE, d'une DLL, d'un bibliothèque
d'icones ou d'un ICO, est ExtractIconA (cf mon post plus bas).
A+
--
Ceci est une signature automatique de MesNews.
Site : http://mesnews.no-ip.com
Merci particulièrement à toi Romain : ton code est Ok Tu as raison pour ExtracIconA mais je n'étais pas arrivé à un résultat, alors j'ai essayé avec ExtractAss.. Merci encore : çà parait tellement facile quand c'est écrit correctement !!!
A bientôt Cordialement
Après mure réflexion, "Romain PETIT" a écrit :
"GP" avait soumis l'idée :
Pouvez-vous la faire tourner ? hIconÊllDLL32("Shell32.dll","ExtractAssociatedIconA",hInst,&szExeFileName,nIconIndex)
En fait, tu te trompes d'API : ExtractAssociatedIconA permet d'extraire l'icone associée à un fichier par Windows, pas à un exécutable. Par exemple, pour récupérer l'icone représentant un projet WD en passant en paramètre à ExtractAssociatedIconA un fichier WDP.
La bonne API pour récupérer l'icone d'un EXE, d'une DLL, d'un bibliothèque d'icones ou d'un ICO, est ExtractIconA (cf mon post plus bas).
A+
-- Ceci est une signature automatique de MesNews. Site : http://mesnews.no-ip.com