empecher fermeture d'une fenetre dos

empecher fermeture d'une fenetre dos - C++ - Programmation

Marsh Posté le 28-10-2004 à 16:21:47    

bonjour  
quelqu1 pourez me filer un code pour empecher la fermeture d'une fenetre dos en c++
merci  :bounce:

Reply

Marsh Posté le 28-10-2004 à 16:21:47   

Reply

Marsh Posté le 28-10-2004 à 16:29:12    

tu veux faire quoi precisement ??

Reply

Marsh Posté le 28-10-2004 à 16:31:23    

c'est un forum d'entraide ici, mais on ne fait pas le boulot à la place, faut lire le règlement ;)

Reply

Marsh Posté le 28-10-2004 à 16:31:26    

en faite j'ai une fenetre dos lors de l'execution de mon prog et j'aimerais que l'on ne puisse pas la fermer

Reply

Marsh Posté le 28-10-2004 à 16:32:24    

cricri toi qui dit que c'est un forum entraide et ben aide moi mais moi sur la piste

Reply

Marsh Posté le 28-10-2004 à 16:33:09    

tu parles d'une fenetre console ?

Reply

Marsh Posté le 28-10-2004 à 16:34:34    

Il n'y a rien qui puisse empécher la fermeture d'une fenetre console (et encore heureux, d'ailleurs, c'est qui l'admin ici :D)

Reply

Marsh Posté le 28-10-2004 à 16:36:50    

Smaragdus a écrit :

Il n'y a rien qui puisse empécher la fermeture d'une fenetre console (et encore heureux, d'ailleurs, c'est qui l'admin ici :D)


 
ben sauf si tu la crée ou tu fais ce que tu veux avec son message WM_CLOSE
 
mais le probleme c'est que je vois pas du tout de quoi pidjot parle

Reply

Marsh Posté le 28-10-2004 à 16:40:45    

cris56 a écrit :

ben sauf si tu la crée ou tu fais ce que tu veux avec son message WM_CLOSE


 
Même, je ne vois pas ce qui empecherait de terminer le processus avec le gestionnaire de processus.

Reply

Marsh Posté le 28-10-2004 à 16:42:43    

oui, rien
 
 
enfin si mais ca devient complexe

Reply

Marsh Posté le 28-10-2004 à 16:42:43   

Reply

Marsh Posté le 28-10-2004 à 16:43:23    

merci pour ces reponses

Reply

Marsh Posté le 28-10-2004 à 17:19:14    

c'est pas juste un topic du mec qui utilise devcpp et qui voit pas son programme s'exécuter ?

Reply

Marsh Posté le 28-10-2004 à 17:55:22    

si c'est ca la question est vraiment mal posée

Reply

Marsh Posté le 28-10-2004 à 18:06:04    

cris56 a écrit :

ben sauf si tu la crée ou tu fais ce que tu veux avec son message WM_CLOSE
 
mais le probleme c'est que je vois pas du tout de quoi pidjot parle


Sauf que y'a pas de boucle de messages et donc de WM_CLOSE. Il faut installer un handler sur CTRL_CLOSE_EVENT via SetConsoleCtrlHandler. T'as beau ignorer le signal, mes tests avaient montré que quelques secondes après Windows te proposait de tuer le process...
Mais je crois qu'on peut arriver à griser le bouton + le menu. Mais comme l'a dit Smaragdus ça empêche pas de killer l'application.


---------------
FAQ fclc++ - FAQ C++ - C++ FAQ Lite
Reply

Marsh Posté le 28-10-2004 à 18:10:50    

tu la crée avec sa WndProc
 
et tu peux toujours killer taskmgr à son ouverture ou autre, pareil pour taskill, je sais pas comment on fais mais j'ai deja eu des programmes malicieux qui fasaient ca

Reply

Marsh Posté le 28-10-2004 à 19:13:38    

Bonsoir,

Citation :

Taz   c'est pas juste un topic du mec qui utilise devcpp et qui voit pas son programme s'exécuter ?


je viens m'inserer dans ce topic car je debute en C et j'utilise devcpp et  je ne vois pas mon programme s'executer, la console se ferme a chaque fois. Quel est le probleme?
Merci d'avance


Message édité par mp3490 le 28-10-2004 à 19:14:30
Reply

Marsh Posté le 28-10-2004 à 19:18:59    

lance le dans la console

Reply

Marsh Posté le 28-10-2004 à 19:19:57    

je lance quoi dans la console et comment?
Desolé je debute.
Merci

Reply

Marsh Posté le 28-10-2004 à 19:21:22    

tu lance cmd.exe (nt) ou msdos.exe (9x/me) et tu tapes le nom du prog (avec son chemin)

Reply

Marsh Posté le 28-10-2004 à 19:24:25    

ok super merci je viens de tester et ca fonctionne.
@+

Reply

Marsh Posté le 28-10-2004 à 20:22:32    

moi je propose que tu mettes un  getche();
 
juste avant l'accolade fermante du main
ou bien un simple system("CLS" );
ca empeche la fermeture de ta fenetre DOS........ jusqu'a ce que tu tapes qqch
 

Reply

Marsh Posté le 28-10-2004 à 20:47:33    

fullnight a écrit :

moi je propose que tu mettes un  getche();
 
juste avant l'accolade fermante du main
ou bien un simple system("CLS" );
ca empeche la fermeture de ta fenetre DOS........ jusqu'a ce que tu tapes qqch


 
tu sors  [:alfone]

Reply

Marsh Posté le 28-10-2004 à 20:56:11    

http://www.tusors.fr.st/


Message édité par cris56 le 28-10-2004 à 20:57:42
Reply

Marsh Posté le 28-10-2004 à 22:18:14    


 
LOL de la mort la quand même

Reply

Marsh Posté le 29-10-2004 à 00:28:46    

cris56 a écrit :

tu la crée avec sa WndProc


Et tu reçois les messages de tes fenêtres, mais pas ceux de la console... Le console est gérée par un autre processus, un processus système, qui possède sa boucle des messages (csrss). Ce process est créé lors de l'initialisation du sous système win32 (il en fait partie en fait), ce qui explique qu'il ne crée pas de fenêtre avec le style XP mais avec le vieux look de fenêtre win95.
Ca explique pourquoi quand y a un bug dans cette gestion de la console ca faisait écran bleu (le fameux bug du \b notamment).


Message édité par HelloWorld le 29-10-2004 à 00:32:04

---------------
FAQ fclc++ - FAQ C++ - C++ FAQ Lite
Reply

Marsh Posté le 29-10-2004 à 08:57:29    

ok, pourtant il me semblais bien qu'on puise créer une fenetre console comme une autre

Reply

Marsh Posté le 29-10-2004 à 11:06:35    

Avec AllocConsole tu peux "allouer" une console. Mais c'est pas toi qui gère la fenêter. De même csrss veille à ce que tu ne puisses pas avoir plus d'une console dans ton processus.


---------------
FAQ fclc++ - FAQ C++ - C++ FAQ Lite
Reply

Marsh Posté le 29-10-2004 à 11:10:24    

HelloWorld a écrit :

ce qui explique qu'il ne crée pas de fenêtre avec le style XP mais avec le vieux look de fenêtre win95.


Je dois vraiment avoir de la merde dans les yeux, parce que je ne m'en étais jamais rendu compte (bon, ça fait pas longtemps que j'utilise XP aussi).  
 
Je viens d'ouvrir un fenêtre command-line, et c'est vrai, ça a le style de l'ancien...  :jap:  

Reply

Marsh Posté le 29-10-2004 à 14:36:28    

HelloWorld a écrit :

Avec AllocConsole tu peux "allouer" une console. Mais c'est pas toi qui gère la fenêter. De même csrss veille à ce que tu ne puisses pas avoir plus d'une console dans ton processus.


 
merci pour ces precisions  :)

Reply

Marsh Posté le    

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed