cs_AlexMAN
Messages postés1536Date d'inscriptionsamedi 21 décembre 2002StatutMembreDernière intervention24 mai 2009
-
7 août 2004 à 15:54
BruNews
Messages postés21040Date d'inscriptionjeudi 23 janvier 2003StatutModérateurDernière intervention21 août 2019
-
12 août 2005 à 18:23
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.
BruNews
Messages postés21040Date d'inscriptionjeudi 23 janvier 2003StatutModérateurDernière intervention21 août 2019 12 août 2005 à 18:23
Regarde GUIDGEN.EXE, il y a aussi un exemple en MFC dans MSDN.
magic_Nono
Messages postés1878Date d'inscriptionjeudi 16 octobre 2003StatutMembreDernière intervention16 mars 2011 12 août 2005 à 18:09
une utilisation du ps standard et d'un flag en zone partagé,
ça me semble pas mal....
et dc une routine qui commence à regarder si le flag est levé, et éventuellement envoi l'ordre à la premiere fenêtre de se montrer au premier plan avt de se fermer....
Il faut qu'elle ai une boucle de gestion de msg....
et dc mm si C po du windows
gogo petz
PS: mdr ta méth de copier collé BN.... mais c'est vrai que j'aV déjà remarqué ça...
PS': y a t'il une fonction dans le sabir API pour générer un GUID ?
Magicalement...
Nono.
cs_AlexMAN
Messages postés1536Date d'inscriptionsamedi 21 décembre 2002StatutMembreDernière intervention24 mai 20091 14 sept. 2004 à 20:14
LOL, ben tt a fait le contraire...Serieusement, aucune idée, faudrait ke tu connaisses les api linux (posix) et le fonctionnement de l'os (ya ptet pas de Fichier d'echanges ? jpense pas, mais sait on jamais..).
9sber
Messages postés28Date d'inscriptionvendredi 30 avril 2004StatutMembreDernière intervention14 septembre 2004 14 sept. 2004 à 20:09
Tout cela c'est joli, mais sous linux, quelle solution adopter?
vecchio56
Messages postés6535Date d'inscriptionlundi 16 décembre 2002StatutMembreDernière intervention22 août 201014 9 août 2004 à 16:33
Tu peux développer l'idée?
NitRic
Messages postés402Date d'inscriptionmardi 1 mai 2001StatutMembreDernière intervention15 août 2011 9 août 2004 à 16:29
Ce que plusieurs utilisent, le process id dans un simple fichier et de petites validations par la suite ...
vecchio56
Messages postés6535Date d'inscriptionlundi 16 décembre 2002StatutMembreDernière intervention22 août 201014 9 août 2004 à 15:02
BruNews c'est un peu comme un ordinateur finalement
BruNews
Messages postés21040Date d'inscriptionjeudi 23 janvier 2003StatutModérateurDernière intervention21 août 2019 9 août 2004 à 15:00
Sur CS faut avoir un stock de reponses pretes a l'emploi, copier coller, et ça roule. On repete la meme chose tous les jours.
vecchio56
Messages postés6535Date d'inscriptionlundi 16 décembre 2002StatutMembreDernière intervention22 août 201014 9 août 2004 à 14:52
J'ai déja vu ca quelque part...
BruNews
Messages postés21040Date d'inscriptionjeudi 23 janvier 2003StatutModérateurDernière intervention21 août 2019 9 août 2004 à 09:05
Le but du jeu est de ramener le prog au 1er plan, me semble etre le minimum quand l'utilisateur lance un prog. On ne fait pas cela avec un mutex.
DubbleM
Messages postés2Date d'inscriptiondimanche 27 juillet 2003StatutMembreDernière intervention 8 septembre 2005 9 août 2004 à 08:39
Tu pouvais utiliser simplement les fonctions de l'API CreateMutex, OpenMutex et ReleaseMutex pour determiner si ton programme s'exécute dèjà...
BruNews
Messages postés21040Date d'inscriptionjeudi 23 janvier 2003StatutModérateurDernière intervention21 août 2019 8 août 2004 à 14:55
Allez, on va pas faire de la philo.
Si une tanche fait rentre un prog a la con sur son poste parce qu'il fait joujou au lieu de bosser, on le fout a la porte et le probleme est regle.
vecchio56
Messages postés6535Date d'inscriptionlundi 16 décembre 2002StatutMembreDernière intervention22 août 201014 8 août 2004 à 14:51
ta remarque est fausse dans le cadre du développement d'un antivirus
BruNews
Messages postés21040Date d'inscriptionjeudi 23 janvier 2003StatutModérateurDernière intervention21 août 2019 8 août 2004 à 14:33
vecchio56, c'est le role des antivirus de traiter les petits malins, pas le tien en production.
cs_AlexMAN
Messages postés1536Date d'inscriptionsamedi 21 décembre 2002StatutMembreDernière intervention24 mai 20091 8 août 2004 à 14:25
Ah d'accord, merci.
vecchio56
Messages postés6535Date d'inscriptionlundi 16 décembre 2002StatutMembreDernière intervention22 août 201014 8 août 2004 à 14:24
AlexMAN> class dialog == "#32770", tout le temps, donc ca marche pas
vecchio56
Messages postés6535Date d'inscriptionlundi 16 décembre 2002StatutMembreDernière intervention22 août 201014 8 août 2004 à 14:22
On crée un fenêtre transparente avec une classe spéciale dans le dialog.
De toute manière, j'ai l'impression que dans tous les cas, il y aura une 'faille'. Un petit malin peut toujours créer un autre programme qu'il lance au démarrage Windows pour empêcher que l'autre puisse être lancé
cs_AlexMAN
Messages postés1536Date d'inscriptionsamedi 21 décembre 2002StatutMembreDernière intervention24 mai 20091 8 août 2004 à 14:21
Brunews, FindWindow utilise le nom de la classe pour trouver une fenetre, je pense que la classe, elle, ne change pas, donc ca marcherait pas la methode du FindWindow ?
BruNews
Messages postés21040Date d'inscriptionjeudi 23 janvier 2003StatutModérateurDernière intervention21 août 2019 8 août 2004 à 14:16
FindWindow sur dialog dont on change le titre a l'execution n'ira pas, voir autres cas possibles aussi.
BruNews
Messages postés21040Date d'inscriptionjeudi 23 janvier 2003StatutModérateurDernière intervention21 août 2019 8 août 2004 à 14:14
OK que nom doit etre unique, pas trop dur a trouver sinon tu le fais avec le generateur de GUID et la sera unique.
Possible aussi sur FindWindow.
vecchio56
Messages postés6535Date d'inscriptionlundi 16 décembre 2002StatutMembreDernière intervention22 août 201014 8 août 2004 à 14:07
Oui donc si je comprends bien il écrit d'une part 4 octets pour hwnd, mais aussi szappname pour pouvoir retrouver ensuite.
Mais si on imagine deux programmes qui ont le même szappname (comme par hasard), dans ce cas on ne pourra pas les lancer en même temps alors qu'il n'ont rien a voir. Finalement cela revient a avoir un szappname 'unique', mais dans ce cas un nom de classe unique aussi et un simple FindWindow suffirait, non?
BruNews
Messages postés21040Date d'inscriptionjeudi 23 janvier 2003StatutModérateurDernière intervention21 août 2019 8 août 2004 à 13:59
Dans le fichier d'echange du systeme, on lui demande juste de nous reserver 4 octets, c'est libere tout seul a la fermeture du prog. Si coupure courant ou autre accident, on ne laisse aucune salete nulle part.
vecchio56
Messages postés6535Date d'inscriptionlundi 16 décembre 2002StatutMembreDernière intervention22 août 201014 8 août 2004 à 13:49
J'ai un peu la fleme de tout lire dans la MSDN, peux tu me dire ou sont écrits les 4 octets du HWND?
vecchio56
Messages postés6535Date d'inscriptionlundi 16 décembre 2002StatutMembreDernière intervention22 août 201014 8 août 2004 à 00:30
C'est vrai. D'ailleurs pas besoin de panne de courant, une terminaison anormale du programme suffit
BruNews
Messages postés21040Date d'inscriptionjeudi 23 janvier 2003StatutModérateurDernière intervention21 août 2019 8 août 2004 à 00:25
vecchio56> je repense a ton histoire de mettre la valeur dans la base de registres, c'est a bannir, imagine une panne de courant, la valeur reste dans le registre et le prog ne demarre jamais plus.
Pas d'accord ?
gagah1
Messages postés509Date d'inscriptionsamedi 28 juin 2003StatutMembreDernière intervention 3 août 2010 7 août 2004 à 17:23
Il y en a qui sont rapides. le temps de lire et paffff! déjà la reponse ! merci.
gagah1
Messages postés509Date d'inscriptionsamedi 28 juin 2003StatutMembreDernière intervention 3 août 2010 7 août 2004 à 17:20
Pour la question de premier plan, exemple dans une application j'ai une fenetre principale qui est déjà ouverte, et j'ouvre après une boite de dialogue, et quand je reviens sur l'ancienne fenetre sans fermer la boite de dialogue , celle là reste au premier plan. Normalement la fenetre principale est au premier plan.
vecchio56
Messages postés6535Date d'inscriptionlundi 16 décembre 2002StatutMembreDernière intervention22 août 201014 7 août 2004 à 17:19
On pourrait aussi utiliser une valeur dans le registre
BruNews
Messages postés21040Date d'inscriptionjeudi 23 janvier 2003StatutModérateurDernière intervention21 août 2019 7 août 2004 à 17:15
la seconde methode utilise le fichier d'echange de windows en reservant 4 octets dedans, n'a donc pas besoin de creer un segment 'shared'.
#pragma est une directive pour le compilo.
gagah1
Messages postés509Date d'inscriptionsamedi 28 juin 2003StatutMembreDernière intervention 3 août 2010 7 août 2004 à 17:10
C'est quoi une section "shared"?
En plus sur la deuxième methode ce pragma ... n'existe pas.
BruNews
Messages postés21040Date d'inscriptionjeudi 23 janvier 2003StatutModérateurDernière intervention21 août 2019 7 août 2004 à 17:09
gagah1> pas compris l'histoire de premier plan. Si tu as par exemple un selecteu de fichier ouvert et que tu relances le pro, pas de prob c'est bien le selecteur qui revient au 1er plan comme il se doit.
cs_AlexMAN
Messages postés1536Date d'inscriptionsamedi 21 décembre 2002StatutMembreDernière intervention24 mai 20091 7 août 2004 à 17:02
pour les pragma, il l'a dit, ca lui permet de stocker des données ds une section "Shared" ( == Partagé).
gagah1
Messages postés509Date d'inscriptionsamedi 28 juin 2003StatutMembreDernière intervention 3 août 2010 7 août 2004 à 16:57
Très interessante cette source.
Mais tu pourrais m'expliquer à quoi ça sert :
#pragma data_seg("shared")
et
#pragma data_seg()
J'en profite pour te demander comment faire pour qu'une deuxieme boite de dialogue reste au premier plan dans une application meme si le focus est sur la première. Merci!
cs_AlexMAN
Messages postés1536Date d'inscriptionsamedi 21 décembre 2002StatutMembreDernière intervention24 mai 20091 7 août 2004 à 15:54
Je me demande vraiment d'ou tu sors tt ca, c'est vraiment bien, on en apprend tt les jours avec toi..
merci
12 août 2005 à 18:23
12 août 2005 à 18:09
ça me semble pas mal....
et dc une routine qui commence à regarder si le flag est levé, et éventuellement envoi l'ordre à la premiere fenêtre de se montrer au premier plan avt de se fermer....
Il faut qu'elle ai une boucle de gestion de msg....
et dc mm si C po du windows
gogo petz
PS: mdr ta méth de copier collé BN.... mais c'est vrai que j'aV déjà remarqué ça...
PS': y a t'il une fonction dans le sabir API pour générer un GUID ?
Magicalement...
Nono.
14 sept. 2004 à 20:14
14 sept. 2004 à 20:09
9 août 2004 à 16:33
9 août 2004 à 16:29
9 août 2004 à 15:02
9 août 2004 à 15:00
9 août 2004 à 14:52
9 août 2004 à 09:05
9 août 2004 à 08:39
8 août 2004 à 14:55
Si une tanche fait rentre un prog a la con sur son poste parce qu'il fait joujou au lieu de bosser, on le fout a la porte et le probleme est regle.
8 août 2004 à 14:51
8 août 2004 à 14:33
8 août 2004 à 14:25
8 août 2004 à 14:24
8 août 2004 à 14:22
De toute manière, j'ai l'impression que dans tous les cas, il y aura une 'faille'. Un petit malin peut toujours créer un autre programme qu'il lance au démarrage Windows pour empêcher que l'autre puisse être lancé
8 août 2004 à 14:21
8 août 2004 à 14:16
8 août 2004 à 14:14
Possible aussi sur FindWindow.
8 août 2004 à 14:07
Mais si on imagine deux programmes qui ont le même szappname (comme par hasard), dans ce cas on ne pourra pas les lancer en même temps alors qu'il n'ont rien a voir. Finalement cela revient a avoir un szappname 'unique', mais dans ce cas un nom de classe unique aussi et un simple FindWindow suffirait, non?
8 août 2004 à 13:59
8 août 2004 à 13:49
8 août 2004 à 00:30
8 août 2004 à 00:25
Pas d'accord ?
7 août 2004 à 17:23
7 août 2004 à 17:20
7 août 2004 à 17:19
7 août 2004 à 17:15
#pragma est une directive pour le compilo.
7 août 2004 à 17:10
En plus sur la deuxième methode ce pragma ... n'existe pas.
7 août 2004 à 17:09
7 août 2004 à 17:02
7 août 2004 à 16:57
Mais tu pourrais m'expliquer à quoi ça sert :
#pragma data_seg("shared")
et
#pragma data_seg()
J'en profite pour te demander comment faire pour qu'une deuxieme boite de dialogue reste au premier plan dans une application meme si le focus est sur la première. Merci!
7 août 2004 à 15:54
merci
++