sendkeys "{TAB}" viene ignorato


0

Ho creato un file .VBS con il codice visualizzato di seguito.

Funziona bene se lo uso per compilare qualsiasi modulo in un browser e funziona anche con Excel e Blocco note.

Tuttavia, genera un errore se utilizzato su un'applicazione installata sul mio sistema. L'intero testo viene inserito in una singola cella. sendkey "{TAB}"non funziona in questa applicazione.

Inoltre, se premo Tabdopo averlo usato, passa alla cella precedente anziché alla cella successiva. Penso che il tasto Maiusc rimanga bloccato lì a causa del testo MAIUSCOLA.

Inoltre, il tasto BLOC NUM viene disattivato a volte durante l'utilizzo di questo.

Qualcuno può aiutare con questo?

set wshshell = wscript.CreateObject("wScript.Shell")
wscript.sleep 700
wshshell.sendkeys "TYPE TEXT 1"
wscript.sleep 400
wshshell.sendkeys "{TAB}"
wscript.sleep 400
wshshell.sendkeys "TYPE TEXT 2"
wscript.sleep 400
wshshell.sendkeys "{TAB}"
wscript.sleep 400
wshshell.sendkeys "TYPE TEXT 3"
wscript.sleep 400
wshshell.sendkeys "{TAB}"
wscript.sleep 400
wshshell.sendkeys "TYPE TEXT 4"
wscript.sleep 400
wshshell.sendkeys "{TAB}"
wscript.sleep 400

Provawshshell.sendkeys vbTab
Bill Hileman,

Come esperimento, prova a inserire un DoEventscomando prima e dopo ogni wshshell.sendkeys "{TAB}"comando
Gary's Student il

@BillHileman wshshell.sendkeys vbTab - non ha funzionato
Sahil Manuja

@Gary'sStudent Provato con DoEvents, non funziona, inoltre non digita tutto il testo che ha digitato solo TYPE TEXT 1. dopo che non succede nulla
Sahil Manuja,

1
@PimpJuiceIT Ho già provato con "wshshell.sendkeys" {TAB} ", True", inoltre non ha funzionato
Sahil Manuja,

Risposte:


0

Apparentemente SendKeys non funziona con Citrix .

Una soluzione alternativa all'utilizzo di VBScript è utilizzare AutoHotkey . Questo script ahk ha funzionato per me in Citrix:

Sleep 700
SendInput TYPE TEXT 1
Sleep 400
SendInput {TAB}
Sleep 400
SendInput TYPE TEXT 2
Sleep 400
SendInput {TAB}
Sleep 400
SendInput TYPE TEXT 3
Sleep 400
SendInput {TAB}
Sleep 400
SendInput TYPE TEXT 4
Sleep 400
SendInput {TAB}
Sleep 400

Grazie per il suggerimento, ho usato gli script AHK, ma non sono autorizzato a utilizzare software esterno. Ho provato con ahk funziona perfettamente, ma non con wscripts. Non sono in grado di tracciare il motivo per cui SendInput funziona e sendkeys no.
Sahil Manuja,

@SahilManuja Che ne dici di AutoIT? Lo chiedo solo perché NON richiede che sia installato per eseguire un file eseguibile che può fare lo stesso? Da quello che ricordo con AHK, devi installare il programma per usare i suoi script; tuttavia, con AutoIT, è possibile compilare un exe e quindi inserirlo in una chiavetta USB, quindi eseguirlo da lì e può sfruttare alcune delle stesse funzionalità di emulazione della tastiera. Ecco un esempio di risposta che ho scritto se vuoi vedere: superuser.com/questions/1220290/…
Pimp Juice IT

AutoHotkey ha la stessa capacità. Può essere eseguito da un'installazione portatile o può essere compilato in un EXE.
davidmneedham,

Sì, ha funzionato, ma crea un file da 1 MB che è troppo grande e devo creare file tra i 1000. Inoltre non esiste alcuna opzione per la conversione in blocco da ahk - exe Qualche altra opzione?
Sahil Manuja,

ahk2exe può essere utilizzato in blocco nella riga di comando. Ma sarebbe possibile creare un file AHK da leggere nei comandi necessari per essere inviati per evitare la creazione di migliaia di EXE separati.
davidmneedham,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.