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

  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  SendKeys : quelle chaine de caractère pour touche "Windows"

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

SendKeys : quelle chaine de caractère pour touche "Windows"

n°373785
jenner
Posté le 28-04-2003 à 09:36:03  profilanswer
 

Je sais qu'avec Sendkeys on mime les événements claviers mais quelle est la chaine de caractère qui correspond à la touche "Windows" du clavier ?

mood
Publicité
Posté le 28-04-2003 à 09:36:03  profilanswer
 

n°373796
MagicBuzz
Posté le 28-04-2003 à 09:39:21  profilanswer
 

Ctrl + Echap
 
(en tout cas, ça fait pareil)

n°373800
antp
Super Administrateur
Champion des excuses bidons
Posté le 28-04-2003 à 09:40:13  profilanswer
 

ça fait pareil niveau utilisateur pour la pression simple sur la touche Win, mais si tu fais Ctrl+Esc+E t'as pas l'explorateur, alors que Win+E tu l'as :D


---------------
mes programmes ·· les voitures dans les films ·· apprenez à écrire
n°373815
MagicBuzz
Posté le 28-04-2003 à 09:44:21  profilanswer
 

antp a écrit :

ça fait pareil niveau utilisateur pour la pression simple sur la touche Win, mais si tu fais Ctrl+Esc+E t'as pas l'explorateur, alors que Win+E tu l'as :D


Mais nan, mais c'est parceque t'es pas assez rapide :D
 
A priori, doit pas y avoir de code derrière la touche windows, je pense que c'est plutôt une macro géré par le processeur du clavier. (oui oui, y'a un processeur dans un clavier)

n°373818
antp
Super Administrateur
Champion des excuses bidons
Posté le 28-04-2003 à 09:45:32  profilanswer
 

MagicBuzz a écrit :


Mais nan, mais c'est parceque t'es pas assez rapide :D


 
parce que tu y arrives, toi ? [:kiki]  
 
Je pense pas que ce soit géré par le clavier, c'est comme les touches multimedia, ce sont des codes différents des touches habituelles...


---------------
mes programmes ·· les voitures dans les films ·· apprenez à écrire
n°373824
MagicBuzz
Posté le 28-04-2003 à 09:54:31  profilanswer
 

antp a écrit :


 
parce que tu y arrives, toi ? [:kiki]  
 
Je pense pas que ce soit géré par le clavier, c'est comme les touches multimedia, ce sont des codes différents des touches habituelles...


Ben nan, j'y arrive pas, mais moi non plus je suis pas assez rapide :D
 
Sinon, ouais, pour les codes différents...
 
Mais euh... Normalement, un clavier, ça envoie bien un code ASCII non ?
Hors, un clavier standard permet déjà de couvrir l'intégralité du ASCII étendu (soit 1 byte), sans pour autant en générer un seul de plus.
 
Donc j'ai du mal à concevoir que les contrôlleurs claviers de 386 par exemple aient prévu de passer sur 2 bytes pour gérer des touches qui n'existaient pas à l'époque. Hors un clavier Windows/multimédia fonctionne très bien sur un tel PC. :??:

n°373829
Harkonnen
Modérateur
Un modo pour les bannir tous
Posté le 28-04-2003 à 09:56:00  profilanswer
 

Sinon tu peux utiliser AutoIt ou AutoItX (controle Active X) pour simuler cette touche !
 
http://www.hiddensoft.com/AutoIt/


---------------
J'ai un string dans l'array (Paris Hilton)
n°373831
drasche
Posté le 28-04-2003 à 09:57:13  profilanswer
 

Minute là papillon, les codes ne sont pas les même suivant si tu intercepte KeyPress (code ascii) ou KeyUp/KeyDown (code touche clavier) ;)
 
Le code clavier renvoyés pour la touche Windows de gauche est 91 (puis 92 et 93 pour les touches de droite: Windows et menu contextuel).


---------------
Whichever format the fan may want to listen is fine with us – vinyl, wax cylinders, shellac, 8-track, iPod, cloud storage, cranial implants – just as long as it’s loud and rockin' (Billy Gibbons, ZZ Top)
n°373837
Harkonnen
Modérateur
Un modo pour les bannir tous
Posté le 28-04-2003 à 10:00:42  profilanswer
 

Ne t'emmerde pas et utilise AutoItX :o
Tu peux simuler les touches Windows via les paramètres LWIN et RWIN, y'a 2 vbs d'exemples livrés avec !


---------------
J'ai un string dans l'array (Paris Hilton)
n°373842
antp
Super Administrateur
Champion des excuses bidons
Posté le 28-04-2003 à 10:01:41  profilanswer
 

MagicBuzz a écrit :

Mais euh... Normalement, un clavier, ça envoie bien un code ASCII non ?
Hors, un clavier standard permet déjà de couvrir l'intégralité du ASCII étendu (soit 1 byte), sans pour autant en générer un seul de plus.


 
Aucune idée... En tout cas sous Windows tu reçois plus qu'un byte... t'as un int contenant le n° de la touche + une partie d'un autre param pour des infos supplémentaires
 
edit: bah voilà, c'est ce que dit Drasche, y a deux events différents :D


Message édité par antp le 28-04-2003 à 10:02:27

---------------
mes programmes ·· les voitures dans les films ·· apprenez à écrire
mood
Publicité
Posté le 28-04-2003 à 10:01:41  profilanswer
 

n°373851
MagicBuzz
Posté le 28-04-2003 à 10:06:00  profilanswer
 

drasche a écrit :

Minute là papillon, les codes ne sont pas les même suivant si tu intercepte KeyPress (code ascii) ou KeyUp/KeyDown (code touche clavier) ;)
 
Le code clavier renvoyés pour la touche Windows de gauche est 91 (puis 92 et 93 pour les touches de droite: Windows et menu contextuel).


OK. Ben en regardant de plus près à quoi ressemble la table ASCII, on voit que 91 = [
Hors, [ = ESC + 40h
Hors, CTRL, si mes souvenir sont bon, c'est bien un offset de 40h (et shift de 20h)
 
Donc c'est bien ça.
 
Seulement, lorsqu'on appuie sur les touches shift, ctrl, alt et alt gr, ça envoie un second byte contenant leurs status. (en fait, quand on appuie sur une touche, le clavier envoie 2 bytes, un pour la touche du clavier, et l'autre pour les touches de contrôle).
 
Donc le drivers clavier, pour faire la différence entre le pressage d'une touche à la con ou d'une combinaisont normale, il a juste à vérifier si une touche de contrôle a été appuiée.
 
Ca fait combien le code ASCII de Windows + E ?
Moi je vote pour c0h :)


Message édité par MagicBuzz le 28-04-2003 à 10:06:50
n°373853
antp
Super Administrateur
Champion des excuses bidons
Posté le 28-04-2003 à 10:07:46  profilanswer
 

MagicBuzz a écrit :


Moi je vote pour c0h :)


 
t'avais dit 141h :p


---------------
mes programmes ·· les voitures dans les films ·· apprenez à écrire
n°373857
antp
Super Administrateur
Champion des excuses bidons
Posté le 28-04-2003 à 10:09:39  profilanswer
 

La touche Windows n'a pas l'air d'être détectée par le OnKeyPress, mais juste par le OnKeyDown/OnKeyUp où on a les codes 91 & 92
 
Par contre [ donne OnKeyPress = 91 (ASCII), mais OnKeyDown = 221 (du moins sur clavier belge, sur le clavier français il est sur une autre touche donc le code sera différent)
la valeur élevée est due à la présence du ctrl & alt (= altgr) je suppose


Message édité par antp le 28-04-2003 à 10:17:09

---------------
mes programmes ·· les voitures dans les films ·· apprenez à écrire
n°373869
MagicBuzz
Posté le 28-04-2003 à 10:14:11  profilanswer
 

antp a écrit :


 
t'avais dit 141h :p


Vi, mais je m'étais planté :D
 
J'avais fait un offset avec ctrl et puis j'avais écrit en décimal au lieu d'héxa :)

n°373873
antp
Super Administrateur
Champion des excuses bidons
Posté le 28-04-2003 à 10:17:26  profilanswer
 

j'arrive pas à intercepter le code du ctrl+esc :heink:


---------------
mes programmes ·· les voitures dans les films ·· apprenez à écrire
n°373884
MagicBuzz
Posté le 28-04-2003 à 10:20:04  profilanswer
 

Bah... Chais pas.
 
EN tout cas, certain, ESC = 27 (ou 1Bh) et il me semble que CTRL = offset de 40h mais j'en suis pas certain.
 

n°373955
antp
Super Administrateur
Champion des excuses bidons
Posté le 28-04-2003 à 10:51:41  profilanswer
 


       key press    key down (ASCII)
 
A        65           97
Ctrl+A   65            1


 
j'ai la même chose avec ou sans Ctrl :heink:


Message édité par antp le 28-04-2003 à 10:52:42

---------------
mes programmes ·· les voitures dans les films ·· apprenez à écrire
n°373973
MagicBuzz
Posté le 28-04-2003 à 10:59:31  profilanswer
 

ha ? ben alors ça fait pas d'offset :D
 
je croyais :heink:
 
doit y avoir que shif qui fait un eoffset en fin de compte :)


Message édité par MagicBuzz le 28-04-2003 à 10:59:51
n°374018
antp
Super Administrateur
Champion des excuses bidons
Posté le 28-04-2003 à 11:17:51  profilanswer
 

Ouais parce que le code ASCII de 'a' est pas le même que 'A', c'est comme '^A' qui vaut 1, c'est son code ASCII, donc y a un décalage au niveau de l'ASCII mais c'est tout, dans le KeyDown Shift+A = A


---------------
mes programmes ·· les voitures dans les films ·· apprenez à écrire

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  SendKeys : quelle chaine de caractère pour touche "Windows"

 

Sujets relatifs
Compraison de chaine de caractère[vbscript]- erreur dans la recherche de chaines de caractère
[BAT] Concaténer une chaine dans un for[PHP/JS] Grande chaine de car dans une fonction js.
[ASP] tronquer une chaine?[Perl/Tk] Les VRAIS curseurs de souris de windows, ou ki sont??
[vb(a)] je veux faire fonction qui separe une chaine de char en deuxlire un caractere de commande en C
Comment transfomer un prog dos en prog windows?? 
Plus de sujets relatifs à : SendKeys : quelle chaine de caractère pour touche "Windows"


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