cs_stender
Messages postés11Date d'inscriptionvendredi 12 décembre 2003StatutMembreDernière intervention17 mai 2008
-
11 avril 2008 à 16:21
duck18
Messages postés1Date d'inscriptionmercredi 4 février 2009StatutMembreDernière intervention 4 février 2009
-
4 févr. 2009 à 17:25
Bonjour,
Bon j'ai cherché un peu partout sur le net et dans différents forum et nul part j'ai trouvé d'indice !. Alors je viens demander de l'aide
j'ai essayé de poster ce message dans débutant mais je crois m'être trompé de section alors peut-être sous systeme cela est plus logique
Voilà mon problème, je cherche à affecter du texte à mes touches de fonction quelque soit le soft sous lesquels je suis par exemple IE Outlook etc etc...alors j'utilise un hook clavier via un timer ça ok ça semble marcher,
mais je souhaite bloquer la programmation par défaut de ces touches, c'est à dire le F1 qui envoi l'aide quand je suis sous IE par exemple pour que ce soit mon programme qui prenne le dessus.
Comment procéder ?
Que dois-je faire ?
Une aide ?
Un indice ?
Un bout de code ?
Une solution ?
<?xml:namespace prefix o ns "urn:schemas-microsoft-com:office:office" /??>
Mais non je désespère pas ça fait juste 15 jours que je cherche.
{$R
*.dfm}
Procedure
TForm1.WMHotKey(Var Msg:
TWMHotKey);
Begin
If MSG.HotKey =
HotKeyID1 Then
MessageBox(Handle ,
'Touche F1 pressée', 'Information', MB_ICONINFORMATION Or
MB_SETFOREGROUND);
End;
Procedure TForm1.RegisterHotKeys;
Begin
HotKeyID1 :=
GlobalAddAtom('Hotkey1');
RegisterHotKey(Handle, HotKeyID1, 0, VK_F1);
End ;
Procedure TForm1.UnRegisterHotKeys;
Begin
UnRegisterHotKey(Handle, HotKeyID1);
End;
Procedure TForm1.FormCreate(Sender: TObject);
Begin
RegisterHotKeys;
End;
Procedure
TForm1.FormDestroy(Sender: TObject);
Begin
Cirec
Messages postés3833Date d'inscriptionvendredi 23 juillet 2004StatutModérateurDernière intervention18 septembre 202250 12 avril 2008 à 10:36
commence déjà par créer une nouvelle application ... complète le code comme l'exemple que je t'ai donné mais surtout n'oublie pas de lier les deux évènement OnCreate et OnDestroy (par l'intermédiaire de l'inspecteur de propriétés)
puis tu démarres l'application ... tu peux ensuite en démarrer une autre et appuyer sur F1 tu verras alors que c'est mon exemple qui prend la main à chaque fois et que la touche F1 n'affiche plus l'aide (ou que ce soit)
cs_stender
Messages postés11Date d'inscriptionvendredi 12 décembre 2003StatutMembreDernière intervention17 mai 2008 11 avril 2008 à 23:26
Hummm j'ai honte, j'ai collé le code sous Delphi 7 et quand je le lance rien ne se passe si je press F1 quelle que soit la touche d'ailleurs !
Je ne dis pas que le code ne marche pas loin de là mais plutôt que je suis pas "foutu" de le faire tourner :(
alors je cherche j'ai essayé de coller un composant Hotkey mais rien...
si tu as un petit coup de pousse de plus ça serais vraiment pas mal.
encore merci d'avoir pris le temps de m'aider.
Vous n’avez pas trouvé la réponse que vous recherchez ?
cs_stender
Messages postés11Date d'inscriptionvendredi 12 décembre 2003StatutMembreDernière intervention17 mai 2008 12 avril 2008 à 18:28
Impec !!!
Encore merci d'avoir pris le temps de me répondre et d'autant plus pour la petite précision de lier OnCreate et OnDestroy.
C'est vraiment très agréable d'arriver à d'avancer
Bon j'espère ne pas avoir à revenir avant un bon moment ;-)
duck18
Messages postés1Date d'inscriptionmercredi 4 février 2009StatutMembreDernière intervention 4 février 2009 4 févr. 2009 à 17:25
Bonjour à tous,
J'ai utilisé ce même code source pour intercepter la touche décimal du pavé numérique, cela fonctionne sans problème, mais je souhaite retransmettre l'événement avec comme valeur de touche la virgule. Est-ce que cela est possible ? J'ai bien essayé avec un TranslateMessage mais ce n'est pas le même type de variable.