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

  FORUM HardWare.fr
  Programmation

  [VB] C koi les commandes pour les ports des NT

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[VB] C koi les commandes pour les ports des NT

n°44249
Deadog
Dain Bramaged
Posté le 03-07-2001 à 12:02:17  profilanswer
 

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 ?

mood
Publicité
Posté le 03-07-2001 à 12:02:17  profilanswer
 

n°44262
Carbon_14
Posté le 03-07-2001 à 12:37:41  profilanswer
 

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.

n°44268
Deadog
Dain Bramaged
Posté le 03-07-2001 à 12:54:32  profilanswer
 

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...

n°44273
zop
1 world, 1 web, 1 Windows
Posté le 03-07-2001 à 13:06:18  profilanswer
 

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:


---------------
- "Qui diable es-tu ?"
n°44313
Deadog
Dain Bramaged
Posté le 03-07-2001 à 14:45:37  profilanswer
 

:lol:  
 
Bon, d'accord :D mais ça me dit pas comment je fait moi :(

n°44319
JPA
Posté le 03-07-2001 à 14:58:31  profilanswer
 

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+

n°44331
Kyle_Katar​n
Posté le 03-07-2001 à 15:29:54  profilanswer
 

qqun as testé ça ? je suis interessé si ça marche ....

n°44332
Kyle_Katar​n
Posté le 03-07-2001 à 15:29:56  profilanswer
 

qqun as testé ça ? je suis interessé si ça marche ....

n°44343
Deadog
Dain Bramaged
Posté le 03-07-2001 à 15:38:17  profilanswer
 

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 :).
 
:)

n°44463
Deadog
Dain Bramaged
Posté le 03-07-2001 à 20:14:57  profilanswer
 

:(  
 
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 ?!?

mood
Publicité
Posté le 03-07-2001 à 20:14:57  profilanswer
 

n°44507
karlkox
Posté le 04-07-2001 à 02:45:42  profilanswer
 

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

n°44626
Deadog
Dain Bramaged
Posté le 04-07-2001 à 21:11:52  profilanswer
 

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

n°44635
karlkox
Posté le 04-07-2001 à 22:18:48  profilanswer
 

Bah tu mets Show au début du Form_Load =)

n°44728
Deadog
Dain Bramaged
Posté le 05-07-2001 à 10:49:52  profilanswer
 

Mouarf, c la première fois que je suis obligé de forcé l'affichage d'une form :D
 
 :lol:  :lol:  :lol:  
 
 :pt1cable:


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation

  [VB] C koi les commandes pour les ports des NT

 

Sujets relatifs
[DOS] Comment envoyer un mail avec des commandes dos?Faire un programme C qui execute des commandes dos (sous win).
commandes NT[VB] Ouvrir une application et lui passer des commandes DDE
[FTP] Une aide sur les commandes ?[BATCH] Commandes DOS pour lire dans 1 fichier HELP !!!
visual basic : ya t'il un moyen de rechercher les ports libres ?[ASP] Qq aurait-il un ''dictionnaire'' des commandes de base
Plus de sujets relatifs à : [VB] C koi les commandes pour les ports des NT


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR