Réatribuer les touches de Fonctions [Résolu]

cs_stender 13 Messages postés vendredi 12 décembre 2003Date d'inscription 17 mai 2008 Dernière intervention - 11 avril 2008 à 16:21 - Dernière réponse : duck18 1 Messages postés mercredi 4 février 2009Date d'inscription 4 février 2009 Dernière intervention
- 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.




Merci d'avance.
Afficher la suite 

Votre réponse

6 réponses

Meilleure réponse
Cirec 4231 Messages postés vendredi 23 juillet 2004Date d'inscription 3 août 2018 Dernière intervention - 11 avril 2008 à 18:28
3
Merci
Salut,

oui c'est parfaitement possible ... sans Hook et sans Timer

Type
  TForm1 = Class (TForm)
    Procedure FormCreate(Sender: TObject);
    Procedure FormDestroy(Sender: TObject);
  Private
    { Private
declarations }
    HotKeyID1 : Integer;
    Procedure WMHotKey(Var
Msg: TWMHotKey); Message WM_HOTKEY;

    Procedure RegisterHotKeys;

    Procedure UnRegisterHotKeys;

  Public
    {
Public declarations }
  End;

Var
  Form1: TForm1;

Implementation

{$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

  UnRegisterHotKeys;
End;

End.

 
@+
Cirec

<hr siz ="" />

Merci Cirec 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 69 internautes ce mois-ci

Commenter la réponse de Cirec
Meilleure réponse
Cirec 4231 Messages postés vendredi 23 juillet 2004Date d'inscription 3 août 2018 Dernière intervention - 12 avril 2008 à 10:36
3
Merci
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)

 
@+
Cirec

<hr siz="" />

Merci Cirec 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 69 internautes ce mois-ci

Commenter la réponse de Cirec
cs_stender 13 Messages postés vendredi 12 décembre 2003Date d'inscription 17 mai 2008 Dernière intervention - 11 avril 2008 à 21:33
0
Merci
Bon je test ce soir si j'ai le temps ou demain, ce que tu m'a donné et si ça colle avec mon besoin je repasse te remercier aussitôt :)))))))
Commenter la réponse de cs_stender
cs_stender 13 Messages postés vendredi 12 décembre 2003Date d'inscription 17 mai 2008 Dernière intervention - 11 avril 2008 à 23:26
0
Merci
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.
Commenter la réponse de cs_stender
cs_stender 13 Messages postés vendredi 12 décembre 2003Date d'inscription 17 mai 2008 Dernière intervention - 12 avril 2008 à 18:28
0
Merci
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 ;-)
Commenter la réponse de cs_stender
duck18 1 Messages postés mercredi 4 février 2009Date d'inscription 4 février 2009 Dernière intervention - 4 févr. 2009 à 17:25
0
Merci
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.
Commenter la réponse de duck18

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.