Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1704 connectés 

 


Dernière réponse
Sujet : [VB] C koi les commandes pour les ports des NT
Deadog Mouarf, c la première fois que je suis obligé de forcé l'affichage d'une form :D
 
 :lol:  :lol:  :lol:  
 
 :pt1cable:

Votre réponse
Nom d'utilisateur    Pour poster, vous devez être inscrit sur ce forum .... si ce n'est pas le cas, cliquez ici !
Le ton de votre message                        
                       
Votre réponse


[b][i][u][strike][spoiler][fixed][cpp][url][email][img][*]   
 
   [quote]
 

Options

 
Vous avez perdu votre mot de passe ?


Vue Rapide de la discussion
Deadog Mouarf, c la première fois que je suis obligé de forcé l'affichage d'une form :D
 
 :lol:  :lol:  :lol:  
 
 :pt1cable:
karlkox Bah tu mets Show au début du Form_Load =)
Deadog Bah, ça à l'air de bien marcher :)
 
Merçi le DJ :D
 
 
Par contre c'est pas possible d'afficher une form :( mais ça je m'en fous, le code sera dans une DLL :D
karlkox Voici le code modifié fonctionnant sous windows 2000 adv serveur + VB 6 SP 5 FR :
 
Const VK_CAPITAL = &H14
Const VK_NUMLOCK = &H90
Const VK_SCROLL = &H91
Const VK_USED = VK_SCROLL
' Const des touches étendues
Private Const KEYEVENTF_EXTENDEDKEY = &H1
' Const du relachement
Const KEYEVENTF_KEYUP = &H2
       
       
Private Type KeyboardBytes
kbByte(0 To 255) As Byte
End Type
 
Private Declare Function GetKeyState Lib "user32" (ByVal nVirtKey As Long) As Long
Private Declare Function GetKeyboardState Lib "user32" (kbArray As KeyboardBytes) As Long
Private Declare Function SetKeyboardState Lib "user32" (kbArray As KeyboardBytes) As Long
Private Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)
 
' API simulant l'appuye d'une touche quelconque
Private Declare Sub keybd_event Lib "user32" (ByVal bVk As Byte, ByVal _
   bScan As Byte, ByVal dwFlags As Long, ByVal dwExtraInfo As Long)
 
Dim kbArray As KeyboardBytes, CapsLock As Boolean, kbOld As KeyboardBytes
Private Sub Form_Load()
 'KPD-Team 1999
 'URL: http://www.allapi.net/
 'E-Mail: KPDTeam@Allapi.net
 'Get the current keyboardstate
GetKeyboardState kbOld
 'Hide the form
Me.Hide
MsgBox "Keep your eyes on the little num-, shift- and scrolllock lights on the keyboard."
TurnOff VK_CAPITAL
TurnOff VK_NUMLOCK
TurnOff VK_SCROLL
Sleep 1000
TurnOn VK_NUMLOCK
Sleep 100
TurnOn VK_CAPITAL
Sleep 100
TurnOn VK_SCROLL
Sleep 300
TurnOff VK_NUMLOCK
Sleep 100
TurnOff VK_CAPITAL
Sleep 100
TurnOff VK_SCROLL
Sleep 500
TurnOn VK_NUMLOCK
TurnOn VK_SCROLL
Sleep 200
TurnOff VK_NUMLOCK
TurnOff VK_SCROLL
Sleep 200
TurnOn VK_NUMLOCK
TurnOn VK_SCROLL
Sleep 200
TurnOff VK_NUMLOCK
TurnOff VK_SCROLL
Sleep 200
TurnOn VK_CAPITAL
Sleep 200
TurnOff VK_CAPITAL
Sleep 200
TurnOn VK_CAPITAL
Sleep 200
TurnOff VK_CAPITAL
Sleep 200
TurnOn VK_NUMLOCK
TurnOn VK_SCROLL
Sleep 200
TurnOff VK_NUMLOCK
TurnOff VK_SCROLL
Sleep 200
TurnOn VK_NUMLOCK
TurnOn VK_SCROLL
Sleep 200
TurnOff VK_NUMLOCK
TurnOff VK_SCROLL
Sleep 200
TurnOn VK_CAPITAL
Sleep 400
TurnOff VK_CAPITAL
Sleep 200
TurnOn VK_NUMLOCK
Sleep 100
TurnOn VK_CAPITAL
Sleep 100
TurnOn VK_SCROLL
Sleep 300
TurnOff VK_SCROLL
Sleep 100
TurnOff VK_CAPITAL
Sleep 100
TurnOff VK_NUMLOCK
Sleep 1000
Unload Me
End Sub
Private Sub TurnOn(vkKey As Long)
keybd_event vkKey, 69, KEYEVENTF_EXTENDEDKEY Or 0, 0
End Sub
Private Sub TurnOff(vkKey As Long)
keybd_event vkKey, &H45, KEYEVENTF_EXTENDEDKEY Or KEYEVENTF_KEYUP, 0
End Sub
Private Sub Form_Unload(Cancel As Integer)
'restore the old keyboard state
SetKeyboardState kbOld
End Sub
Deadog :(  
 
Ca marche po, désolé :(
 
J'ai pris le code, je l'ai adapté à ma version de VB (4) et je l'ai compilé et .... :(
 
Faut peut-être le compiler sous un systeme NT ?!?
Deadog G 98 est sa marche, mais je m'en fous un peu, ce que je veux c NT donc comme je vais faire tester ça à des NT, je vais bien voir :)
Je vous donnerai la réponse d'ici qql heures si ça va vite :).
 
:)
Kyle_Katarn qqun as testé ça ? je suis interessé si ça marche ....
Kyle_Katarn qqun as testé ça ? je suis interessé si ça marche ....
JPA voir exemple sur :
http://www.allapi.net/api/api188.php
 
La seule différence que je vois est :
Private kbArray As KeyboardBytes   pour toi
Dim kbArray As KeyboardBytes    pour l'exemple de allapi.net
 
En tout cas SetKeyboardState est censée fonctionner depuis NT 3.1 :
http://www.allapi.net/api/SetKeyboardState.php
A+
Deadog :lol:  
 
Bon, d'accord :D mais ça me dit pas comment je fait moi :(
zop

Deadog a écrit a écrit :

Bah ouai, mais par NT j'entend les systeme NT cad NT [B]et[/B] 2000
 
Ce qui m'interresse le plus c'est 2000 même si une solution NT4 serais bien venue :)
Je crois pas que la sécurité soit aussi poussé dans 2000 que dans NT...  




 
Pour info, Windows 2000 est le successeur de Windows NT 4, il s'appelle donc en interne 'Windows NT 5' et devait sortir en 1997
:lol:

Deadog Bah ouai, mais par NT j'entend les systeme NT cad NT [B]et[/B] 2000
 
Ce qui m'interresse le plus c'est 2000 même si une solution NT4 serais bien venue :)
Je crois pas que la sécurité soit aussi poussé dans 2000 que dans NT...
Carbon_14 Dans les essais que j'ai fait avec NT (utilisateur), on n'a pas accès à tout ce qui est matériel, même dérouter (hooker) les commandes clavier, ça marche pas. Par mesure de "sécurité" et pour rendre le système stable, on ne fait plus ce qu'on veut (dommage).
 
Des collègues voulaient utiliser une carte particulière en tant qu'ADMINISTRATEUR, et ont dû utiliser des outils (bibliothèques) commerciaux pour accéder aux adresses matérielles du PC, sinon impossible...
 
Sous Win XP, on risque aussi d'avoir des problèmes. Fini le bricolage perso, rapide et adapté au besoin. Dommage.
Deadog Bah ouai, j'aurais besoin de savoir comment on fait pour utiliser l'API windows des NT (Win NT / 2000) pour contrôler les ports des bécanes.
Plus particulièrement je cherche à contrôler les 3 led du clavier. Avec les 95-98-Me ça marche bien mais pas avec ces cons d'NT :gun:  
Alors comme je sais qu'il faut contrôle un port de communication pour faire cela, avec leur sécurité à la cons :gun:  :gun: ça marche po :sweat:  
 
Sur les 9x/Me je mettais :
 
Private Const VK_NUMLOCK = &H90
Private Const VK_SCROLL = &H91
Private Const VK_CAPITAL = &H14
Private Type KeyboardBytes
kbByte(0 To 255) As Byte
End Type
Private kbArray As KeyboardBytes
Private Declare Function GetKeyState Lib "user32" _
(ByVal nVirtKey As Long) As Long
Private Declare Function GetKeyboardState Lib "user32" _
(kbArray As KeyboardBytes) As Long
Private Declare Function SetKeyboardState Lib "user32" _
(kbArray As KeyboardBytes) As Long
 
Dans les déclarations et ensuite :
 
GetKeyboardState kbArray
kbArray.kbByte(VK_NUMLOCK) = 1
SetKeyboardState kbArray
 
Dans ma procédure pour, par expl, contrôler le NumLock
 
 
Je me doute bien que ça change avec les NT ( :sarcastic: ) mais ces koi qu'il faut déclarer ?

Copyright © 1997-2025 Groupe LDLC (Signaler un contenu illicite / Données personnelles)