Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

Sujet : hook clavier [ Windows / API ] (breton51)

mardi 5 décembre 2006 à 20:44:23 | hook clavier

breton51

bonjour

je voudrais bloquer la touche windows du clavier
pour ce faire je fait un hook sur le clavier en vb6 je n'est pas de pb je fait
SetWindowsHookEx(WH_KEYBOARD_LL, AddressOf KeyboardLowLevelProc, App.hInstance, 0&)
et dans la function KeyboardLowLevelProc je test ci la touche est egual a 91(code de la touche windows) ci c'est le cas je renvoi -1

en vb2005 cela ne marche pas du tout voici le code
dans la forme j'ai:

FriendClass Form1
Inherits System.Windows.Forms.Form
Public hHook AsInteger

PrivateSub Form1_Load(ByVal eventSender As System.Object, ByVal eventArgs As System.EventArgs) HandlesMyBase.Load
 hHook = SetWindowsHookEx(WH_KEYBOARD_LL,
AddressOf KeyboardLowLevelProc, Me.Handle, vbNull)EndSub

Private Sub Form1_FormClosed( ByVal eventSender As System.Object, ByVal eventArgs As System.Windows.Forms.FormClosedEventArgs) Handles Me .FormClosed
   UnhookWindowsHookEx(hHook)
End Sub
End
Class


dans le modul j'ai ceci:
Module Module1
DeclareFunction CallNextHookEx Lib"user32" (ByVal hHook AsInteger, ByVal ncode AsInteger, ByVal wParam AsInteger, ByRef lParam AsInteger) AsInteger
DelegateFunction SubClassProcDelegate(ByVal idHook AsInteger, ByVal wParam AsInteger, ByVal lParam AsInteger) AsInteger
PublicDeclareFunction SetWindowsHookEx Lib"user32"Alias"SetWindowsHookExA" (ByVal idHook AsInteger, ByVal lpfn As SubClassProcDelegate, ByVal hmod AsInteger, ByVal dwThreadId AsInteger) AsInteger
DeclareFunction UnhookWindowsHookEx Lib"user32" (ByVal hHook AsInteger) AsInteger
PublicDeclareSub CopyMemory Lib"kernel32"Alias"RtlMoveMemory" (ByRef Destination AsObject, ByRef Source AsObject, ByVal Length AsInteger)
PublicConst WH_KEYBOARD_LL AsShort = 13
PublicConst VK_RWIN AsShort = &H5Bs
PublicConst VK_LWIN AsShort = &H5Cs
PublicStructure HOOKSTRUCT
      Dim vkCode AsInteger
      Dim scanCode AsInteger
      Dim flags AsInteger
      Dim time AsInteger
      Dim dwExtraInfo AsInteger
EndStructure

PublicFunction KeyboardLowLevelProc(ByVal idHook AsInteger, ByVal wParam AsInteger, ByVal lParam AsInteger) AsInteger
Dim code_touche As HOOKSTRUCT ' variable pour récupérer le vk code
'si idhook < 0 alors pas de traitement
If idHook < 0 Then
'      appeler le hook suivant
      
KeyboardLowLevelProc = CallNextHookEx(Form1.hHook, idHook, wParam, lParam)
Else
      'copie la structure de lParam
      CopyMemory(p, lParam, Len(p))
      If code_touche.vkCode = 91 Then' si la touche est préssée windows
            
KeyboardLowLevelProc = -1 ' on fait croire au système que la touche n'a pas été pressée
            ExitFunction' on ne passe pas au hook suivant
      EndIf
EndIf
'appeler le hook suivant
KeyboardLowLevelProc = CallNextHookEx(Form1.hHook, idHook, wParam, lParam)
EndFunction
End
Module


Merci de m'éclérer car la je ne vois pas

mercredi 6 décembre 2006 à 10:00:35 | Re : hook clavier

ShareVB

salut,

http://www.codeguru.com/vb/gen/vb_system/keyboard/article.php/c4831/
http://www.codeproject.com/csharp/globalhook.asp

ShareVB

jeudi 7 août 2008 à 22:24:15 | Re : hook clavier

werdDomain

aussi, une source complete en vb.net d'un hook keybord:

http://pscode.com/vb/scripts/ShowCode.asp?txtCodeId=2971&lngWId=10


pour anulé, dans l'evenement de la source ...
e.handeled = true




Cette discussion est classé dans : touche, hook, hhook, lparam, idhook


Répondre à ce message

Sujets en rapport avec ce message

Hook / Remplacement de touche [ par titoupit ] Bonjour,J'intercepte le flux clavier avec un Hook et je bloque la touche "." du pavé numérique.Mon problème c'est que j'aimerai remplacer cette touche hook souris [ par breton51 ] bonjour,J'ai un petit probleme pour modifier un parram dans un hook souris, je suis sous vb 2005mon code:<p class="MsoNormal" style="MARGIN: hook clavier [ par jocou ] Bonjour à tousPetite question aux spécialistes : Lorsqu'on positionne un hook clavier local (donc sur un thread particulier), est-ce que :   - l'appli Macro pour incrémentation personalisé [ par cide1982 ] Bonsoir, j'aimerai incrémenter facilement avec un macro comme touche raccourcis pour que ça fasse ça:<meta name="GENERATOR" content="OpenOffice.org Touche clavier en vb6 [ par spootnic22 ] bonjour,svp, j'ai une application  en vb6 , je veux ouvrir un fichier txt en appuyant sur une touche qlq de clavier,pourriez vous m'aider svp,merci po Demande [ par reislukemy ] Bonjour,je voudrais savoir comment envoye un message sur le port RS232 simplement en appuiant sur un chiffre:Exemple: touche 1 = message 1             sélection de touches clavier de manière aléatoire [ par goredo ] bonjour,je suis étudiant en bts informatique et je dois programmer une application en visual basic.Je cherche ici à pouvoir générer de manière aléatoi Comment utiliser les touches de directions et la touche entrée dans un flexgrid? [ par js8bleu ] Bonjour à tous,J'ai un texte box (txtarticle) à partir duquel lorsque je commence à saisir un article qui se trouve dans ma table article m'affiche un ne pas faire lager souris - hook clavier/souris [ par Children ] Bonjours, j'ai actuellement un hook souris/clavier, le seul problème est que je traite pas mal d'information en même temps, et même en utilisant un th Détecter appuie sur une touche [ par Liro ] Bonjour,Je suis sous visual basic 2008 express.Je voudrais détecter l'appuie sur une touche dans mon form principal.J'ai mis:Me.KeyPreview = Truedans


Nos sponsors

Sondage...

CalendriCode

Juillet 2009
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
2728293031  

Consulter la suite du CalendriCode

Téléchargements

Logiciels à télécharger sur le même thème :

Comparez les prix Nouvelle version

Photothèque Nouveau !



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 0,577 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.