Empecher la fermeture d'une appli par Alt+F4 - Java - Programmation
Marsh Posté le 09-02-2007 à 15:12:30
http://www.google.com/search?q=java+alt+F4
de rien
Marsh Posté le 09-02-2007 à 15:15:48
Finalement ma 1ere question se résoud avec un simple
this.setDefaultCloseOperation(JFrame.DO_NOTHING_ON_CLOSE);
Qui empeche le ALT+F4 , "fermer" du menu contextuel et la croix.
Et pour le processus ?
Marsh Posté le 09-02-2007 à 15:30:26
Je sais que ca va etre compliquer mais si les virus et les spywares y parviennent c'est que ça doit etre possible !..
Marsh Posté le 09-02-2007 à 15:37:21
des virus en java ?!!?
en plus, c'est surtout qu'ils se lancent avec des droits différents, c'est ça qui fait que tu ne peux pas les tuer.
edit: preuve : si tu as norton sur ton PC, essaie de tuer le processus résidant => tu peux pas. Il faut aller dans les services et stopper le services correspondant.
patche windows
Marsh Posté le 09-02-2007 à 21:37:10
brisssou a écrit : c'est surtout qu'ils se lancent avec des droits différents |
Hum.. étant donné que c'est la JVM qui lance le programme, on ne peut pas changer les droits de notre appli c'est bien ca ?
Donc c'est réellement impossible d'empecher le kill par un code java ?
Meme en gérant l'interruption comme le fait do_nothing_on_close pour Alt+F4 ?!
MErci
Marsh Posté le 09-02-2007 à 22:56:02
Si tu peux killer une JVM, ça serait logique que tout ce qui tourne dessus soit killé
Marsh Posté le 10-02-2007 à 00:07:34
Dans une JVM, on peut créer un hook process pour intercepter ton appel système. C'est un thread inactif qui est lancé lors de la séquence de shutdown. On peut s'en servir pour empêcher de killer un process ou plus classiquement pour libérer des ressources lors d'un shutdown.
Pour bien comprendre, il faut savoir qu'il y a deux types de thread en Java : normal et daemon. Si un thread "normal" est vivant, alors la JVM ne peut se terminer que si on appele System.exit() (ou Runtime.halt()). Les threads "daemons" ne tournent que s'il y a au moins un thread "normal" qui tourne en même temps. Si un thread "daemon" est le seul à rester vivant, alors la JVM va se termine.
http://java.sun.com/j2se/1.4.2/doc [...] utdownHook
Marsh Posté le 10-02-2007 à 01:16:15
lonely a écrit : Dans une JVM, on peut créer un hook process pour intercepter ton appel système. C'est un thread inactif qui est lancé lors de la séquence de shutdown. On peut s'en servir pour empêcher de killer un process ou plus classiquement pour libérer des ressources lors d'un shutdown. |
Mouais je doute fort qu'on puisse faire en sorte que la JVM resiste au TerminateProcess ou a un SIGKILL ... mais c'est vrai qu'on peut imaginer une JVM qui a un shutdown hook qui relance une autre jvm avec le même shutdown hook et ainsi de suite, faudrait tester mais bon pas envie de coder là ...
Marsh Posté le 12-03-2007 à 19:14:54
Merci.
Ca fait plusieurs jours que je cherche, en vain, comment empecher que mon fullscreen s'en aille quand on fait un alt-tab ou la touche windows..
toFront() etc n'y font rien, je n'ai plus d'idée où chercher
Un conseil ?
Marsh Posté le 23-03-2007 à 00:10:42
tabb a écrit : Finalement ma 1ere question se résoud avec un simple |
Bonjour a tous!
Je souhaite moi aussi empecher la fermeture d'une application sur un poste par des utilisateurs mais je ne sais pas comment utiliser ceci : this.setDefaultCloseOperation(JFrame.DO_NOTHING_ON_CLOSE)
ou dois je le rajouter ? dans le registre peut etre mais en utilsant quelle type de valeur ??etc...
désolé je suis debutant ;-)
merci pour vos reponses
Marsh Posté le 09-02-2007 à 15:05:00
Bonjour,
J'aimerai empecher l'utilisateur de fermer mon appli (swing, jframe) avec un ALT+F4.
Je ne demande pas un code tout fait bien sur, mais des mot clés de recherche ou des pistes..
Et derniere question subsidiaire.. peut-on empecher la fermeture du programme lorsque l'utilisateur fais un ctrl+alt+suppr et supprime le processus (à la manière d'un virus ou spyware, il "renaîtrai" de lui meme...) ?
Merci.