[R] Icone dans la barre de tâches (fenêtre non-AutoIt)

Aide et conseils concernant AutoIt et ses outils.
Règles du forum
.
Répondre
Avatar du membre
ZDS
Membre émérite
Membre émérite
Messages : 554
Enregistré le : jeu. 10 juin 2010 10:35
Localisation : 22300 Cul-d'chouette Langue-de-vache
Status : Hors ligne

[R] Icone dans la barre de tâches (fenêtre non-AutoIt)

#1

Message par ZDS »

Bonjour à tous,

[Pour info j'utilise Windows 7 Pro et Windows 8.1 Fam] Je me suis basé sur le code de la fonction WinSetIcon proposée par Mikell dont voici le [lien]. Vous trouverez ci-dessous le code source légèrement modifié que j'ai utilisé (utilisation du _WinAPI_LoadImage pour tenter de forcer la taille de l'icone) :
► Afficher le texteCode
Et ci dessous, la capture d'écran par rapport à mon souci:
► Afficher le texteCapture d'écran
Comme vous le voyez, l'icone que j'utilise possède plusieurs tailles 48x48, 32x32 et 16x16. Toutes les icones de ma barre des tâches sont de tailles 32x32 lorsqu'on y touche pas, mais une fois affectée par le code AutoIt, elle est en mode dégradé. L'icone dans le coin haut/gauche de la fenêtre est nickel, mais c'est celle en bas qui est important dans mon cas. Sauriez-vous comment pallier le souci?

Merci d'avance pour votre aide, et à bientôt !

PS: En utilisant une icone ne contenant qu'une seule taille (que ce soit 48, 32 ou 16), le résultat est le même : dégradé.
PS2: L'icone de flèche sur fond vert dans l'exemple d'origine de Mikell apparait elle aussi en dégradé sur chacun de mes ordis.

PJ: Icone utilisée dans le cadre de ce code
Icone.zip
Icone zippée car ".ico" interdit
(13.26 Kio) Téléchargé 145 fois
EDIT 27/01/2015 : Toujours pas trouvé de solution par moi même, personne ?

EDIT 02/04/2015 : Problème [R]ésolu

Code : Tout sélectionner

Func WinSetIcon($hwnd, $file)
    Local $icon = _WinAPI_LoadImage(0, $file, $IMAGE_ICON, 32, 32, BitOR($LR_LOADFROMFILE, $LR_CREATEDIBSECTION))
    If Not $icon Then Return False
   _SendMessage($handle, 0x0080, 1, $icon) ; $WM_SETICON = 0x0080
   Sleep(200)
   _WinAPI_DestroyIcon($icon)
EndFunc
Modifié en dernier par ZDS le jeu. 02 avr. 2015 11:27, modifié 1 fois.
ZDS : Chef de projet du nAiO (logiciel AutoIt gratuit sous licence CC 4.0 BY-NC-SA)
Tout problème a une solution, donc si il y a pas d'solution, c'est qu'il y a pas d'problème !
Y01
Niveau 5
Niveau 5
Messages : 160
Enregistré le : lun. 17 nov. 2014 10:46
Status : Hors ligne

Re: [..] Icone dans la barre de tâches (fenêtre non-AutoIt)

#2

Message par Y01 »

Bonjour ZDS,

Je n'y connais pas grand chose en icône mais j'ai trouvé ce lien ainsi que celui la.

Bon courage pour la suite.
Y01
Avatar du membre
DimVar
Niveau 10
Niveau 10
Messages : 870
Enregistré le : ven. 30 mai 2008 15:08
Status : Hors ligne

Re: [..] Icone dans la barre de tâches (fenêtre non-AutoIt)

#3

Message par DimVar »

Bonjour,


J'ai jeté un œil, mais je ne trouve pas. J'ai demandé aux DEVs autour de moi, choux blanc.
J'ai déjà rencontré ce pb par le passé et même constat. (sur l’icône d'une GUI)
Je suis le sujet avec intérêt :wink:


Cdlt, Dimvar.

[EDIT] Je penche pour un parametre de "scale" caché qq part...
N'évoquons pas la pierre, les jeunes risqueraient d'en poire !
Avatar du membre
ZDS
Membre émérite
Membre émérite
Messages : 554
Enregistré le : jeu. 10 juin 2010 10:35
Localisation : 22300 Cul-d'chouette Langue-de-vache
Status : Hors ligne

Re: [..] Icone dans la barre de tâches (fenêtre non-AutoIt)

#4

Message par ZDS »

Bonjour YO1,

Ce n'est pas un problème de "comment créer une icone", ça avec IcoFX je sais le faire ^^ Vu qu'en créant une fenêtre AutoIt avec GUICreate et GUISetIcon, ça s'affiche correctement, le souci vient bel et bien de mon code en lui même (ou des fonctions MSDN utilisées).

Bref, comme DimVar, je suis toujours bloqué

A bientôt !

EDIT: Le paramètre de scale est là normalement : Je charge l'image en 32x32 avec _WinAPI_LoadImage, et je lui passe 1 dans _SendMessage (0=small, 1=big) [https://msdn.microsoft.com/en-us/library/windows/desktop/ms632643%28v=vs.85%29.aspx]
Modifié en dernier par ZDS le mar. 27 janv. 2015 09:48, modifié 1 fois.
ZDS : Chef de projet du nAiO (logiciel AutoIt gratuit sous licence CC 4.0 BY-NC-SA)
Tout problème a une solution, donc si il y a pas d'solution, c'est qu'il y a pas d'problème !
Avatar du membre
DimVar
Niveau 10
Niveau 10
Messages : 870
Enregistré le : ven. 30 mai 2008 15:08
Status : Hors ligne

Re: [..] Icone dans la barre de tâches (fenêtre non-AutoIt)

#5

Message par DimVar »

ZDS a écrit : (0=small, 1=big)
Tu sors ca d'où ? (pour ma culture)
[EDIT] merci.
N'évoquons pas la pierre, les jeunes risqueraient d'en poire !
Avatar du membre
DimVar
Niveau 10
Niveau 10
Messages : 870
Enregistré le : ven. 30 mai 2008 15:08
Status : Hors ligne

Re: [..] Icone dans la barre de tâches (fenêtre non-AutoIt)

#6

Message par DimVar »

Je ne sais pas si ca peut etre une piste, mais ils disent : "The system displays the large icon in the ALT+TAB dialog box, "
Or, quand on fait ALT+ TAB, pas d'icone sur la fenetre de l'aide Autoit...
N'évoquons pas la pierre, les jeunes risqueraient d'en poire !
Avatar du membre
ZDS
Membre émérite
Membre émérite
Messages : 554
Enregistré le : jeu. 10 juin 2010 10:35
Localisation : 22300 Cul-d'chouette Langue-de-vache
Status : Hors ligne

Re: [..] Icone dans la barre de tâches (fenêtre non-AutoIt)

#7

Message par ZDS »

Bizarrement, c'est Jguinch qui a dépatouillé le bouzin, mais sur le [forum anglophone] :) Il suffit d'ajouter un petit temps d'attente avant de détruire l'icone chargée.
► Afficher le texteCode corrigé
Problème [R]ésolu, merci pour votre aide !
ZDS : Chef de projet du nAiO (logiciel AutoIt gratuit sous licence CC 4.0 BY-NC-SA)
Tout problème a une solution, donc si il y a pas d'solution, c'est qu'il y a pas d'problème !
Avatar du membre
jguinch
Modérateur
Modérateur
Messages : 2514
Enregistré le : lun. 14 févr. 2011 22:12
Status : Hors ligne

Re: [R] Icone dans la barre de tâches (fenêtre non-AutoIt)

#8

Message par jguinch »

J'ai bien passé une heure à chercher, jusqu'à ce que je teste avec _WinAPI_LoadIconWithScaleDown : ça marchait "de temps en temps". C'est donc là que ça a fait tilt !
Le script, ça fait gagner beaucoup de temps... à condition d'en avoir beaucoup devant soi !
Avatar du membre
DimVar
Niveau 10
Niveau 10
Messages : 870
Enregistré le : ven. 30 mai 2008 15:08
Status : Hors ligne

Re: [R] Icone dans la barre de tâches (fenêtre non-AutoIt)

#9

Message par DimVar »

Merci à vous.
N'évoquons pas la pierre, les jeunes risqueraient d'en poire !
Répondre