Existe t'il une virtual key pour le caractere anti slash ( \ ) pour l'envoyer vi

Résolu
Nic0s Messages postés 10 Date d'inscription vendredi 2 avril 2004 Statut Membre Dernière intervention 18 décembre 2008 - 23 sept. 2005 à 18:04
Nic0s Messages postés 10 Date d'inscription vendredi 2 avril 2004 Statut Membre Dernière intervention 18 décembre 2008 - 26 sept. 2005 à 16:40
je dois envoyer un nom de fichier en chemin absolut a une application et j'ai donc besoin de lui envoyer un caratere \ antislash .Et vu que cette touche peut changer de place en fonction des clavier ( americain .... ) je me demande si il existe une VKey afin de ne peut envoyer le CTRL ALT 8 ( que d'ailleur j'ai meme pas testé ...)

le sendkeys n'est pas recevable parcequ'il provoque des lenteurs dans mon codes.
A voir également:

12 réponses

Nic0s Messages postés 10 Date d'inscription vendredi 2 avril 2004 Statut Membre Dernière intervention 18 décembre 2008
26 sept. 2005 à 14:05
bon bas on va faire avec les lenteurs du sendkeys en effet je n'ai trouvé aucune façon utilisable pour le \ avec les keybd_event, la solution du CTRL ALT 8 n'est pas recevable en cause du fais que je ne connais pas le type de clavier qui sera utilisé avec l'appli .

Le code ascii n'est pas plus utilisable

Le sendmessage n'est pas non plus utilisable car il est difficile de retrouvé le handle de l'editbox de cette fenetre ( je n'arrive deja pas à le voir avec microsoft spy ++...)

donc je repare sur le sendkeys + delai peut etre avec quelque priere en plus ....
3
Nic0s Messages postés 10 Date d'inscription vendredi 2 avril 2004 Statut Membre Dernière intervention 18 décembre 2008
26 sept. 2005 à 15:18
disont qu'a la question :"Existe t'il une virtual key pour le caractere anti slash ( \ ) pour l'envoyer via keybd_event " la reponse est non .
3
PCPT Messages postés 13272 Date d'inscription lundi 13 décembre 2004 Statut Membre Dernière intervention 3 février 2018 47
23 sept. 2005 à 18:53
salut

visionneuse d'API (fournie avec VB6)

' Virtual Keys, Standard Set
Const VK_LBUTTON = &H1
Const VK_RBUTTON = &H2
Const VK_CANCEL = &H3
Const VK_MBUTTON = &H4 ' NOT contiguous with L RBUTTON

Const VK_BACK = &H8
Const VK_TAB = &H9

Const VK_CLEAR = &HC
Const VK_RETURN = &HD

Const VK_SHIFT = &H10
Const VK_CONTROL = &H11
Const VK_MENU = &H12
Const VK_PAUSE = &H13
Const VK_CAPITAL = &H14

Const VK_ESCAPE = &H1B

Const VK_SPACE = &H20
Const VK_PRIOR = &H21
Const VK_NEXT = &H22
Const VK_END = &H23
Const VK_HOME = &H24
Const VK_LEFT = &H25
Const VK_UP = &H26
Const VK_RIGHT = &H27
Const VK_DOWN = &H28
Const VK_SELECT = &H29
Const VK_PRINT = &H2A
Const VK_EXECUTE = &H2B
Const VK_SNAPSHOT = &H2C
Const VK_INSERT = &H2D
Const VK_DELETE = &H2E
Const VK_HELP = &H2F

' VK_A thru VK_Z are the same as their ASCII equivalents: 'A' thru 'Z'
' VK_0 thru VK_9 are the same as their ASCII equivalents: '0' thru '9'

Const VK_NUMPAD0 = &H60
Const VK_NUMPAD1 = &H61
Const VK_NUMPAD2 = &H62
Const VK_NUMPAD3 = &H63
Const VK_NUMPAD4 = &H64
Const VK_NUMPAD5 = &H65
Const VK_NUMPAD6 = &H66
Const VK_NUMPAD7 = &H67
Const VK_NUMPAD8 = &H68
Const VK_NUMPAD9 = &H69
Const VK_MULTIPLY = &H6A
Const VK_ADD = &H6B
Const VK_SEPARATOR = &H6C
Const VK_SUBTRACT = &H6D
Const VK_DECIMAL = &H6E
Const VK_DIVIDE = &H6F
Const VK_F1 = &H70
Const VK_F2 = &H71
Const VK_F3 = &H72
Const VK_F4 = &H73
Const VK_F5 = &H74
Const VK_F6 = &H75
Const VK_F7 = &H76
Const VK_F8 = &H77
Const VK_F9 = &H78
Const VK_F10 = &H79
Const VK_F11 = &H7A
Const VK_F12 = &H7B
Const VK_F13 = &H7C
Const VK_F14 = &H7D
Const VK_F15 = &H7E
Const VK_F16 = &H7F
Const VK_F17 = &H80
Const VK_F18 = &H81
Const VK_F19 = &H82
Const VK_F20 = &H83
Const VK_F21 = &H84
Const VK_F22 = &H85
Const VK_F23 = &H86
Const VK_F24 = &H87

Const VK_NUMLOCK = &H90
Const VK_SCROLL = &H91

'
' VK_L VK_R - left and right Alt, Ctrl and Shift virtual keys.
' Used only as parameters to GetAsyncKeyState() and GetKeyState().
' No other API or message will distinguish left and right keys in this way.
' /
Const VK_LSHIFT = &HA0
Const VK_RSHIFT = &HA1
Const VK_LCONTROL = &HA2
Const VK_RCONTROL = &HA3
Const VK_LMENU = &HA4
Const VK_RMENU = &HA5

Const VK_ATTN = &HF6
Const VK_CRSEL = &HF7
Const VK_EXSEL = &HF8
Const VK_EREOF = &HF9
Const VK_PLAY = &HFA
Const VK_ZOOM = &HFB
Const VK_NONAME = &HFC
Const VK_PA1 = &HFD
Const VK_OEM_CLEAR = &HFE


<SMALL> Coloration syntaxique automatique [AFCK]</SMALL>


PCPT
0
PCPT Messages postés 13272 Date d'inscription lundi 13 décembre 2004 Statut Membre Dernière intervention 3 février 2018 47
23 sept. 2005 à 19:01
donc ASC("8") = 56
56 en hexa = &H38

VK_\ devrait valoir ((&H38 Xor &H11 Xor &H12) And &HF0000000)

PCPT
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
PCPT Messages postés 13272 Date d'inscription lundi 13 décembre 2004 Statut Membre Dernière intervention 3 février 2018 47
23 sept. 2005 à 19:02
peut-être sans And &HF0000000
0
Nic0s Messages postés 10 Date d'inscription vendredi 2 avril 2004 Statut Membre Dernière intervention 18 décembre 2008
23 sept. 2005 à 19:51
j' ai bien sur consulter la doc avant de poster et donc j'avais deja les info sur les vkey existantes.

La solution que tu propose suppose que le \ est sous la touche 8 hors sur les claviers americains il ne se trouve pas sous cette touche ...
0
PCPT Messages postés 13272 Date d'inscription lundi 13 décembre 2004 Statut Membre Dernière intervention 3 février 2018 47
23 sept. 2005 à 20:05
et comme la constante n'existe pas, tu as ta réponse ;)
"pas de constante"
donc tu peux créer ta constante en testant la langue.

si fr : VK_CTRL Xor VK_MENU Xor &H38
si us : VK_CTRL Xor VK_MENU Xor (???)

PCPT
0
cs_CanisLupus Messages postés 3757 Date d'inscription mardi 23 septembre 2003 Statut Membre Dernière intervention 13 mars 2006 20
23 sept. 2005 à 21:02
Salut,
Il me semble avoir compris que tu veux envoyer un chemin+nom de fichier à une aplli externe à la tienne ?
Alors, d'abord, comment veux tu "envoyer" ton chemin et/ou nom de fichier ?
Par sendkey ou par sendmessage ?


Que ce soit par l'un ou l'autre, il existe plein de topics et de sources sur le sujet.


Tu parles de vkey, j'espère que tu ne veux pas envoyer ton chemin key par key, ça serait très bête et en tous cas beaucoup plus lent que le sendkey et sans doute incompatible entre pilotes de clavier différents.

Et puis, "", clavier us ou clavier fr c'est la même valeur chr(92) (val ascii).

-------------------------------------------------
Dresseur de puces, .... normal pour un loup !?
0
Nic0s Messages postés 10 Date d'inscription vendredi 2 avril 2004 Statut Membre Dernière intervention 18 décembre 2008
24 sept. 2005 à 13:24
"comment veux tu "envoyer" ton chemin et/ou nom de fichier ?
Par sendkey ou par sendmessage ?" par keybd_event comme indiqué dans le sujet.

je vais regarder lundi pour le

sendmessagebystring Lib <VAR>"user32"</VAR> Alias <VAR>"SendMessageA"</VAR> (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, ByVal lParam As
String
) As Long

l' api keybd_event est plus rapide que le sendkey et ne provoque pas de latence. donc je ne pense pas que cela soit plus "bete " et moins rapide que le sendkey , de plus essai de mixer des sendkey et des keybd_event dans une appli ca donne des truc pas genial....

Merci quand meme pour le caratere ascii, meme si c'etais pas la question.
0
PCPT Messages postés 13272 Date d'inscription lundi 13 décembre 2004 Statut Membre Dernière intervention 3 février 2018 47
26 sept. 2005 à 14:58
salut,
c'est à toi de chercher dans les paramètres régionaux justement le type de clavier.

ps : si tu utilises sendkey, c'est que tu n'as pas de réponse pour ton topic.
topic faussement validé, donc trompeur pour ceux qui se poseraient la même question que toi

PCPT
0
PCPT Messages postés 13272 Date d'inscription lundi 13 décembre 2004 Statut Membre Dernière intervention 3 février 2018 47
26 sept. 2005 à 16:08
suivant cette logique :
' VK_A thru VK_Z are the same as their ASCII equivalents: 'A' thru 'Z'
' VK_0 thru VK_9 are the same as their ASCII equivalents: '0' thru '9'

on peut considérer que :
Const VK_AntiSlash = &H5C

PCPT
0
Nic0s Messages postés 10 Date d'inscription vendredi 2 avril 2004 Statut Membre Dernière intervention 18 décembre 2008
26 sept. 2005 à 16:40
et non cela ne fonctionne pas
0
Rejoignez-nous