soulaimania
Messages postés4Date d'inscriptionjeudi 19 décembre 2002StatutMembreDernière intervention26 avril 2008
-
12 avril 2003 à 15:05
cs_GIL225
Messages postés1Date d'inscriptionlundi 21 juin 2004StatutMembreDernière intervention21 juin 2004
-
21 juin 2004 à 09:48
comment Déssactiver la touche windows du clavier à l'aide d'API, de procédure ou même d'un EXE. Et je serai trés reconnaissant ...
IZOZI
ShareVB
Messages postés2676Date d'inscriptionvendredi 28 juin 2002StatutMembreDernière intervention13 janvier 201626 12 avril 2003 à 16:28
salut
j'ai la solution qui marche d'ailleur avec toutes les touches que tu veux. a priori seul pb ca marcherait que sous NT/2000/XP (j'ai pas testé su 9x). ce code n'est pas de moi :
'Dans un module
Declare Function CallNextHookEx Lib "user32" (ByVal hHook As Long, ByVal ncode As Long, ByVal wParam As Long, lParam As Any) As Long
Declare Function GetKeyState Lib "user32" (ByVal nVirtKey As Long) As Integer
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
Declare Function UnhookWindowsHookEx Lib "user32" (ByVal hHook As Long) As Long
Public hHook As Long
Public Const WH_KEYBOARD_LL = 13
Public Const VK_RWIN = &H5B
Public Const VK_LWIN = &H5C
Public Type HOOKSTRUCT
vkCode As Long
scanCode As Long
flags As Long
time As Long
dwExtraInfo As Long
End Type
Public Declare Sub CopyMemory Lib "kernel32" Alias "RtlMoveMemory" _
(Destination As Any, Source As Any, ByVal Length As Long)
Public Function KeyboardLowLevelProc(ByVal idHook As Long, ByVal wParam As Long, ByVal lParam As Long) As Long
Dim p 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(hHook, idHook, wParam, ByVal lParam)
Else
'copie la structure de lParam
CopyMemory p, ByVal lParam, Len(p)
If p.vkCode = VK_RWIN Then ' si c la touche windows de droite ???
KeyboardLowLevelProc = -1 ' on fait croire au système que la touche n'a pas été pressée
Exit Function ' on ne passe pas au hook suivant
End If
'appeler le hook suivant
KeyboardLowLevelProc = CallNextHookEx(hHook, idHook, wParam, ByVal lParam)
End If
End Function
'Dans une form
Private Sub Form_Load()
'activer le hooking
hHook = SetWindowsHookEx(WH_KEYBOARD_LL, AddressOf KeyboardLowLevelProc, App.hInstance, 0&)
End Sub
Private Sub Form_Unload(Cancel As Integer)
'ne pas oublier : retirer le hooking
UnhookWindowsHookEx hHook
End Sub
bbnt
Messages postés3Date d'inscriptionsamedi 28 décembre 2002StatutMembreDernière intervention17 janvier 2004 17 janv. 2004 à 14:47
voila j'ai trouvé le code pas mal mais, pour tout les autres raccourci ca ne marche pas, même pas "ctrl+C" & "ctrl+V", c'est a dire des que c'est une combinaison de touche ca marche pas, et moi je veut désactivé ca, j'espere avoir une reponse rapidement. merci
Vous n’avez pas trouvé la réponse que vous recherchez ?
bbnt
Messages postés3Date d'inscriptionsamedi 28 décembre 2002StatutMembreDernière intervention17 janvier 2004 20 janv. 2004 à 09:54
je peut pas faire ca parce que je doit désactivé les touche pour tout le systeme, je suis sous windows 2000 pro, et le probleme et non resoulu pour le CTRL ALT SUPPR. Toute les autres raccourci je les est desactivé, merci de me proposé une supposition ou une solution
ezekiel95
Messages postés42Date d'inscriptionmercredi 27 novembre 2002StatutMembreDernière intervention20 mai 2005 20 janv. 2004 à 11:48
Voui mais expliques nous donc ton appli:
S'agit il d'une appli uniquement en local sur un poste?
As tu la possibilité d'avoir les droits administrateur et d'intervenir sur cette machine?
cs_GIL225
Messages postés1Date d'inscriptionlundi 21 juin 2004StatutMembreDernière intervention21 juin 2004 21 juin 2004 à 09:48
8-) écrire des tas de ligne pour rien c inutile surtout qu'il faut se faire un fichier qui fait 4lignes d'Hexa lolmdr :big) comme celui que je me suis fait ci-dessous :
et qui sappelera scancode.reg vous doublecliquez dessus et hop la base de registre se modifie vous pouvez meme le faire en serau local en tant quadministrateur puisque vous avez acces en reseau local dans la base de registre de chaquye ordi yen a vraiment qui aiment vraiment "faire compliquer +to que simple"