Sendkeys et antislash [Résolu]

Signaler
Messages postés
7
Date d'inscription
dimanche 15 avril 2007
Statut
Membre
Dernière intervention
26 novembre 2009
-
Messages postés
17286
Date d'inscription
mercredi 2 janvier 2002
Statut
Modérateur
Dernière intervention
23 décembre 2019
-
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

Messages postés
17286
Date d'inscription
mercredi 2 janvier 2002
Statut
Modérateur
Dernière intervention
23 décembre 2019
69
tu peux aussi utiliser :

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

Renfield
Admin CodeS-SourceS- MVP Visual Basic
Messages postés
1854
Date d'inscription
jeudi 23 mai 2002
Statut
Membre
Dernière intervention
24 juin 2018
26
 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
Messages postés
7
Date d'inscription
dimanche 15 avril 2007
Statut
Membre
Dernière intervention
26 novembre 2009

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 ?
Messages postés
7668
Date d'inscription
samedi 5 novembre 2005
Statut
Membre
Dernière intervention
22 août 2014
26
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.
Messages postés
17286
Date d'inscription
mercredi 2 janvier 2002
Statut
Modérateur
Dernière intervention
23 décembre 2019
69
testé.... et
SendKeys "C:\abcd\efgh\ijklm\123456"

fonctionne directement sous VB...

Renfield
Admin CodeS-SourceS- MVP Visual Basic
Messages postés
7
Date d'inscription
dimanche 15 avril 2007
Statut
Membre
Dernière intervention
26 novembre 2009

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.
Messages postés
17286
Date d'inscription
mercredi 2 janvier 2002
Statut
Modérateur
Dernière intervention
23 décembre 2019
69
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