bdkiller
Messages postés55Date d'inscriptionmercredi 23 avril 2003StatutMembreDernière intervention 7 décembre 2004
-
24 avril 2004 à 19:51
cs_bilal
Messages postés87Date d'inscriptiondimanche 2 février 2003StatutMembreDernière intervention 4 mars 2010
-
9 nov. 2004 à 13:04
Bonjour,
Je travaille sous Borland C++ Builder, et actuellement je me prends la tête à bloquer les combinaisons de touches ALT+F4, ALT+TAB et Ctrl+Alt+Suppr.
Sous borland c++ il n'y a rien de plus simple pour travailler avec les touches, on a des evenements du genre OnKeyDown ou on tape le code et ce que le programme va faire lors d'appui sur une telle ou telle touche..
par exemple:
if (Key == VK_F4 && Shift.Contains(ssAlt))
{
Application->MessageBoxA("You can't do this","Information", MB_OK);
Key = 0;
}
De cette manière ALT+F4 ne marche pas et n'a aucun effet, l'application se ferme pas.
J'ai essayé la même chose avec ALT+TAB, mais ca marche pas, dans mon appli je peux faire ALT+TAB!
Logiquement c'est le même code, suffit de remplacer VK_F4 par VK_TAB, ou bien son code "09", mais non, ca ne le bloque pas, il est toujours operationnel.
Je m'adresse à tout le monde en demandant de l'aide.
J'ai besoin d'empecher l'utilisation de ALT+F4, ALT+TAB et CTRL+ALT+SUPPR. que lorsque mon appli est allumé, ce n'est pas pour tout le windows, juste mon appli.
bdkiller
Messages postés55Date d'inscriptionmercredi 23 avril 2003StatutMembreDernière intervention 7 décembre 2004 24 avril 2004 à 22:27
Oui c'est ce qu'on dit toujours, quand on a pas de réponse exacte :) C'est le plus simple de dire "il faut un hook"... je sais pas pourquoi, mais j'ai un presentiment qui me dit, qu'il y a un moyen plus simple, mais je le trouve pas et c'est pour ca que je demande de l'aide...
glipper
Messages postés246Date d'inscriptiondimanche 2 juin 2002StatutMembreDernière intervention11 septembre 20161 24 avril 2004 à 22:44
mdr... c'est possible, mais moi j'en connais pas :)
Ceci dit, un hook sur le clavier sert justement à intercepter les evenements venant du clavier. Pour moi, c'est vers là qu'il faut s'orienter :)
Ceci dit, je ne connais pas les hook donc bon... ct juste une piste lol
++ Glipper
BruNews
Messages postés21040Date d'inscriptionjeudi 23 janvier 2003StatutModérateurDernière intervention21 août 2019 24 avril 2004 à 23:46
On resume:
Tu interceptes bien les touches que que n'entre pas en jeu la TAB, j'en deduis que tu es sur une dialogbox, ok ?
Si oui il faut installer un hook pour intercepter avant la dlg car celle ci a traitement predefini pour cette touche(change focus) et donc elle ne te repasse pas la touche.
CTRL+ALT+SUPPR est une autre histoire. Tu ne l'intercepteras jamais sur un Windows moderne, peut-etre avec un driver clavier ??? faudra que j'essaie. J'ai mis des exemples d'interception qui evite l'apparition du taskmanager mais il est a noter que sur 2003 Server par exemple c'est sans effet car le systeme bloque illico la station temporairement et affiche la boite 'securite'.
ciao...
BruNews, Admin CS, MVP Visual C++
Vous n’avez pas trouvé la réponse que vous recherchez ?
ca ferme la barre du menu demarrer et d autre truc, mais ca desactive les raccourcis clavier aussi, sauf alt ctrl suppr il me semble .
Je sais, innove :)) trouve nous une autre facon de proceder !
(code un kernel , gl )