Page 1 sur 1

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

Posté : mar. 27 janv. 2015 02:42
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

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

Posté : mar. 27 janv. 2015 09:23
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.

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

Posté : mar. 27 janv. 2015 09:37
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...

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

Posté : mar. 27 janv. 2015 09:40
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]

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

Posté : mar. 27 janv. 2015 09:54
par DimVar
ZDS a écrit : (0=small, 1=big)
Tu sors ca d'où ? (pour ma culture)
[EDIT] merci.

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

Posté : mar. 27 janv. 2015 10:01
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...

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

Posté : jeu. 02 avr. 2015 11:26
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 !

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

Posté : jeu. 02 avr. 2015 13:25
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 !

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

Posté : jeu. 02 avr. 2015 14:20
par DimVar
Merci à vous.