SHOW / HIDE DANS TASKBAR (WIN32, ASM)

Tellmarch Messages postés 53 Date d'inscription samedi 22 mars 2003 Statut Membre Dernière intervention 27 septembre 2005 - 14 mars 2004 à 11:36
magic_Nono Messages postés 1878 Date d'inscription jeudi 16 octobre 2003 Statut Membre Dernière intervention 16 mars 2011 - 22 févr. 2005 à 15:24
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/21205-show-hide-dans-taskbar-win32-asm

magic_Nono Messages postés 1878 Date d'inscription jeudi 16 octobre 2003 Statut Membre Dernière intervention 16 mars 2011
22 févr. 2005 à 15:24
malgré les qq essais fais, c'est mieux mais pas encore suffisant

en tout cas, il faut aussi traiter WM_ACTIVATE et d'autres encore....

recherches & tests en cours

++
Nono.
BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019
21 févr. 2005 à 16:45
Exact, faudrait traiter WM_ACTIVATEAPP.
magic_Nono Messages postés 1878 Date d'inscription jeudi 16 octobre 2003 Statut Membre Dernière intervention 16 mars 2011
21 févr. 2005 à 16:04
++ puis &=1
étrange, mais pourquoi pas


Bref

Après avoir intégré ce code dans celui ci :
http://www.cppfrance.com/code.aspx?ID=29682

je viens surtout signaler un bug :

si l'on zappe (Alt+Tab) et revient sur l'appli, l'icone de l'appli est restaurée ds la taskBar.

Comment régler ce pb??

++
Nono.
BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019
18 avril 2004 à 17:37
Visible <=> non visible, y aura quoi a remodifier, pret a l'emploi un point c'est tout.
T'aurait falu un : objet.visible = true;
La oui que ça aurait senti l'objet et le gros projet, ben je te les laisse sans probleme.

BruNews, Admin CS, MVP Visual C++
cosmobob Messages postés 700 Date d'inscription mardi 30 décembre 2003 Statut Membre Dernière intervention 27 janvier 2009 4
18 avril 2004 à 17:25
résultat : a la place d'apprendre kelkeu chose, ce qui est legitime ds un forum c/c++, on voit un truc indigeste !!
enfin bon... penser qu'il faut privilégier l'assembleur a un langage de haut niveau ne tient qu'a toi; ca démontre ss doute que t'as jamais du essayer de creer un gros projet ds lequel une programmation orientée objet fait gagner a la fois un temps fou (en développement) et permet aussi de revenir et de modifier le code en un brin d'temps
cosmobob Messages postés 700 Date d'inscription mardi 30 décembre 2003 Statut Membre Dernière intervention 27 janvier 2009 4
18 avril 2004 à 17:21
quel est l'interet de coder en assembleur un truc pareil? il est évident ke l'assembleur sera mieux ds le cas d'un programme ou l'algorithme optimal a été trouvé, mais qui reste cependant en temps assez long. dans tout le reste, ca ne sert a rien du tout a part a perdre en visibilité et en clarté. si quelq'un sent vraiment la différence 2 temps entre ce bout de code en assembleur et le meme codé en c/c++, c'est qu'il est capable de detecter des variations de l'ordre de 1 / 100 000 000 e de seconde, dc il doit etre super fort aux jeux videos.
BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019
18 mars 2004 à 11:06
visible ^= 1; // TRES BIEN Melnofil
le trop evident creve parfois les yeux, ce qui montre bien l'interet d'une relecture tierce.
Merci.
cs_Melnofil Messages postés 71 Date d'inscription dimanche 23 juin 2002 Statut Membre Dernière intervention 1 février 2008
17 mars 2004 à 20:06
Nan pour commuter des bits on utilise le xor... donc xor eax,1 si je n'abuse est plus rapide et ca doit être pareil en C.
kimmelf2 Messages postés 267 Date d'inscription lundi 22 septembre 2003 Statut Membre Dernière intervention 27 novembre 2005
16 mars 2004 à 01:20
oups ! j'avais raisonne en C et pas en asm !!! honte sur moi :-)
BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019
15 mars 2004 à 23:56
Desole mais comme prevu je trouve mieux la mienne.
La tienne emploie par force 2 registres. Bien entendu ici ce n'est pas grave mais dans une grosse boucle...
BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019
15 mars 2004 à 23:40
Plus rapide a regarder et je t'accorde a ecrire en C mais pas le resultat final qui lui seul m'importe.
inc eax
and eax, 1
qui est ma soluce, me semble mieux.
Faudrait verifier.
kimmelf2 Messages postés 267 Date d'inscription lundi 22 septembre 2003 Statut Membre Dernière intervention 27 novembre 2005
15 mars 2004 à 23:33
visible = 1 - visible ;

ca sera plus rapide pour ta comutation 1/0
vecchio56 Messages postés 6535 Date d'inscription lundi 16 décembre 2002 Statut Membre Dernière intervention 22 août 2010 14
14 mars 2004 à 13:47
il faut connaitre comme toujours
BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019
14 mars 2004 à 13:44
Mais c'est PLUS simple en vrai.
Ici pas besoin de pointeurs d'interface (**ITrucmuche and co), de casts a repetiton et autres headers a trouver.

Struct de la vtable (IUnknown et ITaskBarList offset 12)
QueryInterface dd ? ; + 0
AddRef dd ? ; + 4
Release dd ? ; + 8
HrInit dd ? ; + 12
AddTab dd ? ; + 16
DeleteTab dd ? ; + 20
ActivateTab dd ? ; + 24
SetActiveAlt dd ? ; + 28

Rien de mystique.
vecchio56 Messages postés 6535 Date d'inscription lundi 16 décembre 2002 Statut Membre Dernière intervention 22 août 2010 14
14 mars 2004 à 13:29
C'est dommage que ShowOnTaskbar soit écrit ASM...
DeAtHCrAsH Messages postés 2670 Date d'inscription vendredi 25 janvier 2002 Statut Membre Dernière intervention 6 février 2013
14 mars 2004 à 13:25
Ya quand meme plus simple en utilisant les API si je ne me trompe ?!
Mais bon chaque code a son utilité ;)

A++ et bonne prog all ....

Shell ...
BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019
14 mars 2004 à 11:46
Ben demarre le prog, tu verras.
SHOW / HIDE ton prog dans la taskbar, verifie a chaque appui sur le bouton.
Tellmarch Messages postés 53 Date d'inscription samedi 22 mars 2003 Statut Membre Dernière intervention 27 septembre 2005
14 mars 2004 à 11:36
Qu'est ce que fait ce code exactement?
Rejoignez-nous