Discussione:
COMBINAZIONE TASTI DA RIGA COMANDO
(troppo vecchio per rispondere)
ing.massimoNOSPAM
2004-12-26 12:23:26 UTC
Permalink
Ho necessità di far eseguire su un pc con win98se una combinazione di tasti
(tipo ctrl + invio) tramite un file bat per rendere automatica la cosa.

Si può fare?
Se si, come?

Grazie.
Massimo
Support6
2004-12-27 11:24:53 UTC
Permalink
Post by ing.massimoNOSPAM
Ho necessità di far eseguire su un pc con win98se una combinazione di
tasti (tipo ctrl + invio) tramite un file bat per rendere automatica
la cosa.
Si può fare?
Se si, come?
Puoi farlo utlizzando il metodo SendKeys in un VBScript
HOWTO: Utilizzare Windows Script Host per automatizzare un'applicazione
http://support.microsoft.com/?id=259103

Ciao!
--
_______________________________
Microsoft® Technical Advice
news://news.microsoft.com
http://support.microsoft.com/newsgroups
ing.massimoNOSPAM
2004-12-27 13:12:18 UTC
Permalink
Post by Support6
Puoi farlo utlizzando il metodo SendKeys in un VBScript
.. non è che io sia molto esperto...
ho visitato la pagina consigliata, ma ... come fare a creare il codice
desiderato?
Io devo inviare la combinazione CTRL+ENTER.
Mi puoi aiutare a creare lo script correttamente?
Grazie.
Massimo.
Support6
2004-12-27 13:24:18 UTC
Permalink
Post by ing.massimoNOSPAM
Post by Support6
Puoi farlo utlizzando il metodo SendKeys in un VBScript
.. non è che io sia molto esperto...
ho visitato la pagina consigliata, ma ... come fare a creare il codice
desiderato?
Io devo inviare la combinazione CTRL+ENTER.
Mi puoi aiutare a creare lo script correttamente?
Crea un file .vbs ed incolla quanto sotto. Sostituisci a "titolo_finestra"
il titolo della finestra alla quale vuoi inviare il comando

set WshShell = WScript.CreateObject("WScript.Shell")
WshShell.AppActivate "titolo_finestra"
WshShell.SendKeys "^{ENTER}"
set WshShell = nothing

Ciao!
--
_______________________________
Microsoft® Technical Advice
news://news.microsoft.com
http://support.microsoft.com/newsgroups
ing.massimoNOSPAM
2004-12-27 13:42:53 UTC
Permalink
Post by Support6
Crea un file .vbs ed incolla quanto sotto. Sostituisci a "titolo_finestra"
il titolo della finestra alla quale vuoi inviare il comando
... fatto!
testato e funzionante!
ti ringrazio moltissimo!

Massimo.
ing.massimoNOSPAM
2004-12-27 15:14:19 UTC
Permalink
Post by Support6
Crea un file .vbs ed incolla quanto sotto. Sostituisci a "titolo_finestra"
funziona se lancio lo script manualmente con doppio click.
ma se inserisco in esecuzione automatica, all'avvio non funziona!
come devo fare per automatizzare l'esecuzione dello script?
Grazie.
Massimo.
Support6
2004-12-27 15:37:11 UTC
Permalink
Post by ing.massimoNOSPAM
Post by Support6
Crea un file .vbs ed incolla quanto sotto. Sostituisci a
"titolo_finestra"
funziona se lancio lo script manualmente con doppio click.
ma se inserisco in esecuzione automatica, all'avvio non funziona!
come devo fare per automatizzare l'esecuzione dello script?
Se non funziona, probabilmente è perchè la finestra in questione ancora non
esiste

prova ad aggiungere questo comando allo script

msgbox "Prova"

In questo modo ti accorgi subito se la causa è lo script che non va in
esecuzione, o la finestra che non viene trovata.
In quest'ultimo caso, prova ad aprire prima l'applicazione con il metodo
.run

WshShell.run "c:\programmi\AppFolder\App.exe"

In aggiunta puoi utilizzare il metodo sleep per ritardare l'esecuzione del
comando specificando un timer in millisecondi (60000=1 minuto)

WScript.Sleep 60000

Ciao!
--
_______________________________
Microsoft® Technical Advice
news://news.microsoft.com
http://support.microsoft.com/newsgroups
ing.massimoNOSPAM
2004-12-27 16:14:57 UTC
Permalink
Post by Support6
In aggiunta puoi utilizzare il metodo sleep per ritardare l'esecuzione del
comando specificando un timer in millisecondi (60000=1 minuto)
Proverò questo, in quanto la finestra esiste e la trovo poi aperta dopo
l'avvio.
Ti farò sapere appena testato.
Grazie.
Massimo
ing.massimoNOSPAM
2004-12-27 16:39:47 UTC
Permalink
Post by Support6
In aggiunta puoi utilizzare il metodo sleep per ritardare l'esecuzione del
comando specificando un timer in millisecondi
Ho inserito allinizio dello script il comando sleep da te indicato.
funziona tutto, era davvero un ritardo nella apertura della finestra!

Ti ringrazio tantissimo.

Massimo
ing.massimoNOSPAM
2004-12-27 13:34:19 UTC
Permalink
Post by Support6
Puoi farlo utlizzando il metodo SendKeys in un VBScript
è necessario qualche software particolare (VB?) per utilizzare tale metodo?
Grazie.
Massimo
ing.massimoNOSPAM
2004-12-27 13:43:38 UTC
Permalink
Post by ing.massimoNOSPAM
è necessario qualche software particolare (VB?) per utilizzare tale metodo?
già risolto.
Grazie
Massimo
Fosco
2004-12-28 04:00:46 UTC
Permalink
"ing.massimoNOSPAM"

set oShell = CreateObject("WScript.Shell")
oShell.run"notepad"
WScript.Sleep 500
oShell.SendKeys"ciao"
MsgBox"premo il tasto home e trascino giu'"& _
"il ciao con Ctrl+Invio"
WScript.Sleep 500
oShell.SendKeys"{home}"
oShell.SendKeys"^{enter}"
WScript.Sleep 500
oShell.SendKeys"^{enter}"
WScript.Sleep 500
oShell.SendKeys"^{enter}"
MsgBox"seleziono tutto e premo Ctrl+X'"
oShell.SendKeys"%ms"
oShell.SendKeys"^x"
MsgBox"incollo tutto con Ctrl+V'"
oShell.SendKeys"^v"

'Copia incolla su notepad e salva con estensione .vbs
'tutti i file (*.*) poi ci clicchi sopra. (per esempio Send.vbs)
'se ti da' errore disattiva l'antivirus

Questo sotto e' l'help del WSH con numerosi esempi ( sopra il mega)
http://www.microsoft.com/downloads/details.aspx?FamilyId=01592C48-207D-4BE1-8A76-1C4099D7BBB9&displaylang=en
http://download.microsoft.com/download/winscript56/Install/5.6/W982KMeXP/EN-US/scrdoc56en.exe

(tuttosuunarigasenononfungecopiaincollaunpezzopervolta)

Download and install WSH 5.6 from here:
http://msdn.microsoft.com/downloads/list/webdev.asp
--
Fosco
orpheus
2004-12-28 05:33:18 UTC
Permalink
"Fosco"
Post by Fosco
"ing.massimoNOSPAM"
set oShell = CreateObject("WScript.Shell")
oShell.run"notepad"
WScript.Sleep 500
oShell.SendKeys"ciao"
MsgBox"premo il tasto home e trascino giu'"& _
"il ciao con Ctrl+Invio"
WScript.Sleep 500
oShell.SendKeys"{home}"
oShell.SendKeys"^{enter}"
WScript.Sleep 500
oShell.SendKeys"^{enter}"
WScript.Sleep 500
oShell.SendKeys"^{enter}"
MsgBox"seleziono tutto e premo Ctrl+X'"
oShell.SendKeys"%ms"
oShell.SendKeys"^x"
MsgBox"incollo tutto con Ctrl+V'"
oShell.SendKeys"^v"
LOL ciao!

Loading...