WinWaitActive... non trova testo

« Older   Newer »
  Share  
linuxman74
CAT_IMG Posted on 10/9/2008, 17:14     +1   -1




Ciao a tutti.
Ho un problema.
Con il comando WinWaitActive riesco ad "intercettare" il titolo e il testo per esempio in un documento wordpad.
Perche' non riesco a fare lo stesso in una finestra di un programma telnet... tipo il putty per esempio?
Riesco ad intercettare il titolo della finestra, ma se voglio intercettare in "AND" anche il testo contenuto nella finestra non mi vede nulla.
In effetti nemmeno usando AutoSPY non mi vede nulla ne in Visible Text ne in Hidden Text.
Lo stesso problema identico lo potete verificare su una sessione cmd.
Come posso aggirare il problema?
Grazie 1000 a chi mi vorra' rispondere.
 
Top
CAT_IMG Posted on 10/9/2008, 17:40     +1   -1

wtf?

Group:
Member
Posts:
2,141
Reputazione:
0
Location:
/etc/

Status:


sarebbe da spostare in programmazione
 
Web   Top
MatteoJug
CAT_IMG Posted on 10/9/2008, 19:37     +1   -1




Per "aggirare" il problema ci sono diversi modi, però dipende dall'uso che intendi farci: se si tratta solo della necessità di gestire una console telnet, allora il modo migliore è lasciar perdere la console e "creartene una" che sfrutta per la connessione il protocollo TCP...
Se invece riguarda solo il prompt dei comandi, per leggere il testo basta aggiungere, per esempio, dopo il comando la stringa:
CODICE
>temp.txt
e poi andare a leggere il file temp.txt ...
Però tutto dipende da una cosa: qual'è lo scopo di questo "aggirare" il problema?

EDIT: credo di aver capito male: puoi spiegarti meglio?
 
Top
linuxman74
CAT_IMG Posted on 11/9/2008, 07:41     +1   -1




E' semplice.
Io mi collego in telnet ad un server, il programma puo0' essrere putty, qvt-term, powerterm, teraterm... non importa, fatto sta che dentro la finestra del programma io scrivo delle cose, e ricevo delle risposte, e io vorrei controllare tutto il testo che "scorre" dentro la finestra in modo da poter intercettare certe parole e far scattare un evento.
Tutto qui.
 
Top
MatteoJug
CAT_IMG Posted on 11/9/2008, 09:28     +1   -1




Allora utilizza le funzioni StdoutRead e StdinWrite...
 
Top
linuxman74
CAT_IMG Posted on 11/9/2008, 10:45     +1   -1




Purtroppo ne StdInRead(pid_del_processo_putty) ne StdErrRead(pid_del_processo_putty) non mi trornano nulla!
Cmq grazie lo stesso per il consiglio.
 
Top
MatteoJug
CAT_IMG Posted on 11/9/2008, 11:05     +1   -1




perchè devi utilizzare, quando richiami Run, una sintassi del tipo
CODICE
Run("Putty", "", @SW_SHOW, $STDERR_CHILD + $STDOUT_CHILD + $STDIN_CHILD)
 
Top
linuxman74
CAT_IMG Posted on 11/9/2008, 14:23     +1   -1




Si lo so, lo avevo visto sull'help in linea.
Ma nemmeno con questi parametri funziona.
Ad esempio, il codice seguente funziona perfettamente:
#include <constants.au3>
Local $foo = Run(@ComSpec & " /c dir foo.bar", @SystemDir, @SW_HIDE, $STDERR_CHILD + $STDOUT_CHILD)
Local $line
While 1
$line = StdoutRead($foo)
If @error Then ExitLoop
MsgBox(0, "STDOUT read:", $line)
Wend
While 1
$line = StderrRead($foo)
If @error Then ExitLoop
MsgBox(0, "STDERR read:", $line)
Wend
MsgBox(0, "Debug", "Exiting...")

Ma se metto Run("c:putty.exe", @SystemDir, @SW_HIDE, $STDERR_CHILD + $STDOUT_CHILD)
Non ottengo nulla... forse perche' il contenuto delle finestre di putty, qvt-term,teraterm etc.... non sono standard output. In effetti lo standard output e' una cosa che fa riferimento alla console (command in questo caso) no?
 
Top
MatteoJug
CAT_IMG Posted on 11/9/2008, 14:58     +1   -1




Hai ragione, però pensavo che putty fosse una console standard... però mi sorgono dei dubbi sul funzionamento di queste funzioni, in quanto nemmeno con la console telnet funzionano...bah XD
 
Top
linuxman74
CAT_IMG Posted on 11/9/2008, 15:05     +1   -1




Infatti.... ho notato anche questo. Boh!
 
Top
9 replies since 10/9/2008, 17:14   223 views
  Share