cs_moustachu
Messages postés1079Date d'inscriptionjeudi 14 novembre 2002StatutMembreDernière intervention 1 janvier 2012
-
7 déc. 2004 à 17:06
tbbuim1
Messages postés940Date d'inscriptionjeudi 20 février 2003StatutMembreDernière intervention 3 février 2011
-
10 mars 2005 à 11:41
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.
tbbuim1
Messages postés940Date d'inscriptionjeudi 20 février 2003StatutMembreDernière intervention 3 février 20119 10 mars 2005 à 11:41
Merci pour le hook, j'y pensais mais l'ennuis, c'est que je me demande comment récupérer le Thread de l'appli en cours.
Declare Function SetWindowsHookEx Lib "user32" Alias "SetWindowsHookExA" (ByVal idHook As Long, ByVal lpfn As Long, ByVal hmod As Long, ByVal dwThreadId As Long) As Long
Car cet API marche très bien sur le form du programme VB, je peux tester les touches du clavier. Mais, si je vais dans le notepad, comment faire pour tester les touches du clavier à ce moment là? Dois-je utiliser l'API AttachThreadInput ?
A quoi sert les constantes EM_SETSEL et WM_SETTEXT?
L'API sendMessage sert-elle à écrire dans l'application qui a le focus?
Renfield
Messages postés17287Date d'inscriptionmercredi 2 janvier 2002StatutModérateurDernière intervention27 septembre 202174 9 mars 2005 à 14:06
je pense qu'un hook duy clavier serait ici plus adapté...
pour ce qui est du changement du raccourcis, tout se passe ici :
tbbuim1
Messages postés940Date d'inscriptionjeudi 20 février 2003StatutMembreDernière intervention 3 février 20119 9 mars 2005 à 11:23
Merci pour la MAJ, cependant, il y a encore un truc qui me chiffone lol Lorsque je suis en bas d'un fichier de plusieurs page dans le notepad, et que je fais un shit+F1, il fait bien la manip, mais remonte au début du fichier. Ce qui est assez gênant...
Et j'aurais une question, je suis en train de faire un projet, mais je me heurte au problème suivant.
J'ai stocké dans une table une string. ex: ps*
Et je veux savoir lorsque l'utilisateur tape ps* dans le notepad ou autre. Comment pourrais-je faire stp? :)
Car avec le system de Hotkey, ça ne marche pas. Puisqu'il empêche l'utilisateur d'écrire la Hotkey, il fait une action à la place. Et le code étant très peu commenté, j'ai un peu de mal à comprendre à quoi sert toutes les fonctions :(
Renfield
Messages postés17287Date d'inscriptionmercredi 2 janvier 2002StatutModérateurDernière intervention27 septembre 202174 8 mars 2005 à 11:17
hi hi hi
Outil ephemere qui m'a été utile pendant 3 jours au plus, j'avais plein de champs a mettre en majuscules...
je ne m'etonne donc qu'a moitié que ca coince dans certains cas ;)
en tous cas, voilà, c'est corrigé... Merci ;)
tbbuim1
Messages postés940Date d'inscriptionjeudi 20 février 2003StatutMembreDernière intervention 3 février 20119 8 mars 2005 à 11:03
Pas mal comme d'hab. Cependant, il y a un truc qui me chiffone. Et qui m'étonne venant de ta part Renfield.
Lorsqu'on ne choisit aucun texte, il y a une erreur.
Invalid procedure call or argument
Et cette ligne (107) est surligner
Mid$(Buffer, SelStart, SelLength) = UCase$(Mid$(Buffer, SelStart, SelLength)). @+
cs_moustachu
Messages postés1079Date d'inscriptionjeudi 14 novembre 2002StatutMembreDernière intervention 1 janvier 2012 9 déc. 2004 à 14:36
Ah ouiii, c'est bien mieu. Encore de bonnes utilisations d'APIs.
Je le garde sous le coude
++
Moustachu
Renfield
Messages postés17287Date d'inscriptionmercredi 2 janvier 2002StatutModérateurDernière intervention27 septembre 202174 7 déc. 2004 à 21:03
Mis a jour pour UltraEdit, notepad ou encore WordPad...
pour IE, faudrais procéder differement (utilisation du DOM)
quant à Word... je sais pas...
cs_moustachu
Messages postés1079Date d'inscriptionjeudi 14 novembre 2002StatutMembreDernière intervention 1 janvier 2012 7 déc. 2004 à 17:06
Salut Renfield, j'ai testé un peu :
Marche avec Notepad :o)
Marche pas avec UltraEdit 10 :o(
Marche pas non plus avec IE :o((
Pas non plus avec Excel, Word, Toad :o((((
Les Events sont bien "raisés" (en bon Français) mais la casse ne change pas.
10 mars 2005 à 11:41
Declare Function SetWindowsHookEx Lib "user32" Alias "SetWindowsHookExA" (ByVal idHook As Long, ByVal lpfn As Long, ByVal hmod As Long, ByVal dwThreadId As Long) As Long
Car cet API marche très bien sur le form du programme VB, je peux tester les touches du clavier. Mais, si je vais dans le notepad, comment faire pour tester les touches du clavier à ce moment là? Dois-je utiliser l'API AttachThreadInput ?
A quoi sert les constantes EM_SETSEL et WM_SETTEXT?
L'API sendMessage sert-elle à écrire dans l'application qui a le focus?
9 mars 2005 à 14:06
pour ce qui est du changement du raccourcis, tout se passe ici :
.Register vbKeyF1, MOD_SHIFT, 3112
.Register vbKeyF1, MOD_CONTROL, 3113
9 mars 2005 à 11:23
Et j'aurais une question, je suis en train de faire un projet, mais je me heurte au problème suivant.
J'ai stocké dans une table une string. ex: ps*
Et je veux savoir lorsque l'utilisateur tape ps* dans le notepad ou autre. Comment pourrais-je faire stp? :)
Car avec le system de Hotkey, ça ne marche pas. Puisqu'il empêche l'utilisateur d'écrire la Hotkey, il fait une action à la place. Et le code étant très peu commenté, j'ai un peu de mal à comprendre à quoi sert toutes les fonctions :(
8 mars 2005 à 11:17
Outil ephemere qui m'a été utile pendant 3 jours au plus, j'avais plein de champs a mettre en majuscules...
je ne m'etonne donc qu'a moitié que ca coince dans certains cas ;)
en tous cas, voilà, c'est corrigé... Merci ;)
8 mars 2005 à 11:03
Lorsqu'on ne choisit aucun texte, il y a une erreur.
Invalid procedure call or argument
Et cette ligne (107) est surligner
Mid$(Buffer, SelStart, SelLength) = UCase$(Mid$(Buffer, SelStart, SelLength)). @+
9 déc. 2004 à 14:36
Je le garde sous le coude
++
Moustachu
7 déc. 2004 à 21:03
pour IE, faudrais procéder differement (utilisation du DOM)
quant à Word... je sais pas...
7 déc. 2004 à 17:06
Marche avec Notepad :o)
Marche pas avec UltraEdit 10 :o(
Marche pas non plus avec IE :o((
Pas non plus avec Excel, Word, Toad :o((((
Les Events sont bien "raisés" (en bon Français) mais la casse ne change pas.
++
Moustachu