Sendkeys et antislash

Résolu
jsvb6 Messages postés 7 Date d'inscription dimanche 15 avril 2007 Statut Membre Dernière intervention 26 novembre 2009 - 15 avril 2007 à 06:59
Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 - 17 avril 2007 à 07:28
Bonjour,

J'utilise sans problème sendkeys comme indiqué dans l'aide de VB6 à l'exception d'un caractère:
l'antislash ("").
Si j'utilise sendkeys "g:\divers\toto.txt", true, VB envoie "g:diverstoto.txt".
Savez vous comment faire ?

Merci d'avances pour vos réponses.

7 réponses

Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 74
16 avril 2007 à 13:09
tu peux aussi utiliser :

http://www.codyx.org/snippet_sendchars-envoyer-caracteres-vs-sendkeys_319.aspx

Renfield
Admin CodeS-SourceS- MVP Visual Basic
3
cs_JMO Messages postés 1854 Date d'inscription jeudi 23 mai 2002 Statut Membre Dernière intervention 24 juin 2018 27
15 avril 2007 à 07:53
 Bonjour

Essaie avec %{\}

N'ayant pas vb6, j'ai testé en vbs.

Dim WshShell
Set WshShell = WScript.CreateObject("WScript.Shell")
Set oNotepad = WshShell.Exec("notepad")
WScript.Sleep(100)
WshShell.AppActivate oNotepad.ProcessID

WshShell.SendKeys "g:\divers\toto.txt" & "{ENTER}"
WshShell.SendKeys "g:%{\}divers%{\}titi.txt" & "{ENTER}"

jean-marc
0
jsvb6 Messages postés 7 Date d'inscription dimanche 15 avril 2007 Statut Membre Dernière intervention 26 novembre 2009
15 avril 2007 à 08:19
Merci pour ta réponse rapide.

Je ai testé le «%{\} ». Ca n'a pas marché mais ça m'a permis de mieux cerner le problème :


Quand j’envoie "g:\divers\toto.txt" via sendkeys à mon éditeur de texte alors que je suis en cours de saisie de fichier, ça marche. Par contre, quand j’envoie "g:\divers\toto.txt" via sendkeys à la fenêtre d’ouverture de fichier de mon éditeur (ça à l’air d’être la fenêtre standard d’ouverture de fichier sous windows), j’obtiens "g:diverstoto.txt".<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /??>



 





Comment faire ?
0
jmfmarques Messages postés 7666 Date d'inscription samedi 5 novembre 2005 Statut Membre Dernière intervention 22 août 2014 27
15 avril 2007 à 11:29
Bonjour,

Je viens d'essayer (car celà me paraissait étonnant que ça ne fonctionne pas) :
sendkeys "g:\divers\toto.txt", True

1) dans une textbox de ma propre appli : Fonctionne !
2) dans une zone de saisie de Yahoo (depuis mon appli) : Fonctionne également sans problème.

Conclusion : c'est ton appli de destination qui refuse tes antislash et VB n'a rien à y voir, personnellement.
0

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

Posez votre question
Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 74
16 avril 2007 à 13:13
testé.... et
SendKeys "C:\abcd\efgh\ijklm\123456"

fonctionne directement sous VB...

Renfield
Admin CodeS-SourceS- MVP Visual Basic
0
jsvb6 Messages postés 7 Date d'inscription dimanche 15 avril 2007 Statut Membre Dernière intervention 26 novembre 2009
17 avril 2007 à 00:24
Merci beaucoup Renfield. Ca ne marche toujourspas avec sendkeys par contre ça marche avec la fonction sendchar que j'ai facilement intégré dans mon code grâce à ton lien:
http://www.codyx.org/snippet_sendchars-envoyer-caracteres-vs-sendkeys_319.aspx.
0
Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 74
17 avril 2007 à 07:28
cool...

en fait, cette fonction ne simule pas l'appui de touche, mais bien l'envoi des caractères souhaités.
comment ?

en fait, elle simule la pression de la touche ALT, puis la saisie du code ASCII du caractère.
enfin, elle relache la touche ALT ^^

Renfield
Admin CodeS-SourceS- MVP Visual Basic
0
Rejoignez-nous