LISTER LES TACHES ACTIVES SOUS WINDOWS

cs_ManChesTer Messages postés 374 Date d'inscription vendredi 20 octobre 2000 Statut Modérateur Dernière intervention 15 janvier 2021 - 28 juil. 2002 à 02:15
tony_toon Messages postés 1 Date d'inscription mardi 31 octobre 2006 Statut Membre Dernière intervention 31 octobre 2006 - 31 oct. 2006 à 09:32
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/12064-lister-les-taches-actives-sous-windows

tony_toon Messages postés 1 Date d'inscription mardi 31 octobre 2006 Statut Membre Dernière intervention 31 octobre 2006
31 oct. 2006 à 09:32
Si tu veu juste lister celles qui sont visibles tu peut modifier la ligne :
listbox1.Items.Add(WndName);

en mettant :
if IsWindowVisible(WND) then listbox1.Items.Add(WndName);

Oui je sais je m'amuse à détérer les post mais c'est une fonction que je cherchais et je me dit que sa pourra sûrement aider quelqun ;)
Awaking Messages postés 18 Date d'inscription jeudi 19 août 2004 Statut Membre Dernière intervention 23 mai 2005
1 nov. 2004 à 16:17
Comment faire pour ne lister que celle qui sont visibles ?
cs_costello Messages postés 136 Date d'inscription lundi 2 septembre 2002 Statut Membre Dernière intervention 15 février 2006
30 juin 2003 à 22:58
bravo ManChesTer c'est exactement la source que je cherchais =)
merci :p
cs_ManChesTer Messages postés 374 Date d'inscription vendredi 20 octobre 2000 Statut Modérateur Dernière intervention 15 janvier 2021
28 juil. 2002 à 02:15
Merci delphiprog pour l'url mais je conaissais déja cette facon de proceder, justement, j'en cherche une encore + hard ;o))
cs_Delphiprog Messages postés 4297 Date d'inscription samedi 19 janvier 2002 Statut Membre Dernière intervention 9 janvier 2013 32
27 juil. 2002 à 23:36
Pour forcer une appli à se fermer, regardes la méthode KillSelectedProcess à l'adresse http://www.howtodothings.com/showarticle.asp?article=142.
cs_Delphiprog Messages postés 4297 Date d'inscription samedi 19 janvier 2002 Statut Membre Dernière intervention 9 janvier 2013 32
27 juil. 2002 à 23:15
Très bon arguments, je m'incline...;(
cs_ManChesTer Messages postés 374 Date d'inscription vendredi 20 octobre 2000 Statut Modérateur Dernière intervention 15 janvier 2021
27 juil. 2002 à 21:35
Delphiprog, je suis assez d'accord avec toi sauf sur un point ;o))

en effet le WND:=FindWindow(nil,nil); est utile, imagien que tu execute la procedure depuis une thread que tu a lancèe depuis une appli qui est ds le system tray, et que cette thread est une simple unit (sans form), dans ce cas, je ne trouverai pas de hanle vallide, je trouverai un hanle de thread ce qui n'est pas le type de handle dont la procedure a besoin (je sais c pas de la prog de nebii ds ce cas mais, je fais ce type d'appli assez règulierement)

Bon amusement avec la liste de tache et si vous trouvez une facon de forcer la fermeture d'une appli plantèe se serais gentil de me faire connaitre la mèthode utilisèe ;o))

Bon coding ....

ManChesTer
cs_Delphiprog Messages postés 4297 Date d'inscription samedi 19 janvier 2002 Statut Membre Dernière intervention 9 janvier 2013 32
27 juil. 2002 à 10:29
Génial et merci pour ce code Ô combien utile !
J'aimerais cependant faire remarquer que :
WND:=FindWindow(nil,nil);
peut être remplacé par :
WND:= Handle;
puisque la fenêtre active possède nécessairement un handle.
Egalement, un autre point de détail : dans GetWindowText(Wnd,WndName,255), le dernier paramètre pourrait être remplacé par SizeOf(WndName) pour faciliter la maintenance du programme en cas de changement de taille du tableau de caractères, par exemple.
Enfin, "if WndName[0]>#0" peut aussi s'écrire "if StrLen(WndName) > 0", permettant de gagner en rapidité.
Mais, ça fonctionne très bien comme celà.
Félicitations.
Rejoignez-nous