Comment puis-je utiliser WScript.Shell SendKeys pour envoyer le Numéro de Pad de clavier?
Je suis en train d'utiliser WScript.Shell méthode SendKeys pour émuler l'envoi d'une pression sur une touche du Pavé numérique.
J'ai une application que je suis en train d'écrire des tests automatisés pour l'utilisation de QTP. C'est un Navigateur Web basé sur l'application et l'entrée est dans une Application Java dans la page web. L'entrée accepte uniquement des touches du Pavé numérique et la touche Enter.
Jusqu'à présent, je suis en utilisant ce code:
Dim strInputKey
strInputKey = "{ENTER}"
Set objWsh = CreateObject("WScript.Shell")
Browser("Launch Browser").Page("Test Application").WebElement("Item ID").Click
objWsh.SendKeys strInputKey
Cela fonctionne très bien pour l'envoi de la touche Entrée, mais je n'arrive pas à savoir s'il existe un moyen d'envoyer des Touches numériques. Toute aide serait grandement appréciée.
Je ne suis pas sûr s'il y a des sans-papiers, les moyens d'y parvenir. J'ai lu http://msdn.microsoft.com/en-us/library/8c6yea83(SV.85).aspx mais il ne veut pas aller dans les détails.
Merci d'avance,
- Brent
OriginalL'auteur Brent Henson | 2008-11-03
Vous devez vous connecter pour publier un commentaire.
Vous aurez besoin d'utiliser les touches du pavé numérique.
Voici une liste d'entre eux:
http://www.empirisoft.com/directrt/help/_helpcontents.htm?directrt_key_codes.htm
Afin d'envoyer "123", vous aurez besoin de faire:
OriginalL'auteur unrealtrip
Je n'ai pas de rep pour commenter la réponse ci-dessus qui dit
objWsh.SendKeys chr(79) & chr(80) & chr(81)
mais je ne pense pas que c'est correct
objWsh.SendKeys chr(79) & chr(80) & chr(81)
Pour commencer, il envoie les lettres O,P,Q
Et il veut que les nombres, comme 1234567890
et le lien de clavier codes de balayage.. je pense que ceux qui sont pour savoir quelle touche du clavier est enfoncée. Ils sont différents des codes ascii.
79,80,81 clavier codes de balayage pour des chiffres sur le pavé numérique /num.
Chr cependant, utilise des codes ascii. pas de clavier codes de balayage.
En outre, tout en spécifiant un chiffre, ici, car il n'est pas fait en appuyant sur une touche, il ne précise pas et n'a pas besoin de spécifier, qui a été la clé a été utilisé, depuis une clé n'a pas été utilisé.
À sendkeys certains numéros (du pavé numérique), est tout de même que l'envoi de touches de la rangée supérieure. Vous voulez juste envoyer quelques chiffres.
Si tout ce qu'il veut savoir, c'est comment utiliser sendkeys pour envoyer des chiffres, évidemment.
objWsh.SendKeys 12345
ou
str="12345"
objWsh.SendKeys str
Mais si l'interlocuteur n'a pas réalisé que objWsh.SendKeys 12345 serait-il le faire, alors peut-être l'interlocuteur est juste confus. Je suppose que de la coche verte, il a voté une réponse qui est comme objWsh.SendKeys "ORDRE".
Je suis conscient que c'est une vieille question, mais pour l'amour de haing bonnes questions et de réponses..
Sa réponse, qui a été objwsh.SendKeys chr(79) & chr(80) & chr(81) <--- Qui affiche OPQ. Il n'affiche pas les numéros. Je l'ai testé avec Set objShell = CreateObject("WScript.Shell") et avec objShell.SendKeys chr(79) & chr(80) & chr(81) Donc je ne comprends pas comment il a aidé les 'cos vous vouliez quelque chose avec le pavé numérique.
Oh, je vois pourquoi vous êtes confus. L'aide a été l'exemple et le lien vers la page. J'ai été en mesure de l'utiliser pour compléter ce que j'essayais de faire. De toute façon, j'apprécie à la fois vos efforts!
alors, quelle ligne avez-vous / avez-vous utilisé?
OriginalL'auteur barlop