|
Trouver une ressource
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)
Informations & options pour cette discussion
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 EndModule
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
Livres en rapport
|
Téléchargements
Logiciels à télécharger sur le même thème :
|