Newsgroup: it.comp.lang.visual-basic
Titolo: leggere la Text box di un programma esterno

E' possibile leggere il contenuto della text box della finestra di un 
programma esterno collegato ad internet (contenuto che quindi si modifica 
continuamente)?
Mi viene il dubbio che la possibilit� esista dalla risposta che mi ha dato 
lo sviluppatore di un programma YYYYY che legge automaticamente le puntate 
di un programma XXXXX di gioco on line, programma YYYYYY che non mi 
funzionava... la risposta � stata:
" Please make sure XXXXX language is set to English and try again.
YYYYYY requires the language software to be in English so it can read the 
dealer text . "
effettivamente settando in inglese la lingua del programma XXXXX (e quindi 
il contenuto della text box che il programma YYYYYYY va a leggere, che era 
precedentemente in italiano), tutto funziona....
Da questo evinco che il contenuto dei pacchetti TCP � sempre lo stesso: � il 
programma di gioco XXXXX che "traduce" poi nella chat il codice TCP nel 
linguaggio selezionato.
Il programma YYYYYY quindi non legge il contenuto dei pacchetti (cosa che 
oltrettutto sarebbe estremamente difficile, dato che probabilmente sar� 
criptato), ch� altrimenti la lingua impostata sarebbe ininfluente, ma legge 
effettivamente quello che viene man mano scritto nella text box....     MA 
COME FA ????? 

 continuamente)?
Tutti fissati col poker, in questi giorni ?!
Quello che chiedi si può fare, in linea di massima, utilizzando le
funzioni dell'API FindWindow/FindWindowEx (per ottenere l'handle del
controllo che ti serve) e SendMessage con WM_GETTEXT (per leggere il
testo)
Questo però a patto che il controllo che vuoi monitorare sia
effettivamente un TextBox standard, o magari un RichText; se è un
controllo custom di quella applicazione allora potrebbe essere più
difficile... per scoprirlo, puoi usare Spy++, che c'è tra le utility
di VB6, se lo hai installato.
Per sapere quello che ti serve sulle funzioni di cui sopra, MSDN come
sempre.

Quello che chiedi si pu� fare, in linea di massima, utilizzando le
funzioni dell'API FindWindow/FindWindowEx (per ottenere l'handle del
controllo che ti serve) e SendMessage con WM_GETTEXT (per leggere il
testo)
grazie delle info... ora provo a vedere come fare in pratica
bye 

 Tutti fissati col poker, in questi giorni ?!
zac
...eh beh....la tentazione di essere tutti grandi "acher" e di fregare
quelli che gestiscono questi giochi....è fortissima!
Così facendo si aumenta la popolarità....e il danno sociale di queste
bruttissime organizzazioni!
A me sembra veramente inconcepibile che uno stato guadagni sui vizi
sociali di un popolo!
Ma lo fanno tutti gli stati del mondo...e quindi lo sbagliato forse
sono io!
Se invece uno lo fa solo per passare il tempo e giocando soldi
finti...ma che te frega di spuntare un rilancio in più barando: usa il
client ufficiale e campa tranquillo!
Tanto con i soldi finti uno ti vede quasi sempre!!!

 sono io!
Bhe in alcuni stati il gioco � regolamentato in modo diverso, vedi pure
scommesse e simili.
Per il resto sono della stessa idea delle sigarette.
Se tutti i soldi che entrano per il tabacco e il gioco d'azzardo non ci
fossero pi�, pagheremmo pi� tasse tutti.
Pensa se monopolizzano droga e prostituzione, con tutti i soldi in pi� non
si pagherebbero quasi pi� le tasse :)

Andrea [Work] ha scritto:

Vabbeh, ma le macchette dei bar non erano tutte fuori legge?
Si diceva che siccome non le hanno ancora messe in rete col fisco nessuno 
paga un euro per una evasione a livello naizonale paurosa.
Ma forse � un'altra leggenda metropils
-- 
Greg 

 Ma forse � un'altra leggenda metropils
Non credo, se non sbaglio ho visto agenti della GDF controllarle nei vari
bar.

sociali di un popolo!
Beh, se vogliamo dirla tutto allora � ancora pi� inconcepibile che uno stato 
guadagni sui redditi onesti della brava gente
Per� lo stato ha le sue spese, deve andare avanti, che prenda dove c' � da 
prendere, basta che le ritenute siano accettabili
(nel poker on line sono del 3%, nel superenalotto del 40%... vedi te ) 

(nel poker on line sono del 3%, nel superenalotto del 40%... vedi te ) 
E sul lavoro tra IRPEF, IRAP, INPS INAIL ecc. si supera facilmente il 50%.
Eccheccivoif�.
--
ciao
  Stefano

Quello che chiedi si pu� fare, in linea di massima, utilizzando le
funzioni dell'API FindWindow/FindWindowEx (per ottenere l'handle del
controllo che ti serve) e SendMessage con WM_GETTEXT (per leggere il
testo)
Questo per� a patto che il controllo che vuoi monitorare sia
effettivamente un TextBox standard, o magari un RichText; se � un
controllo custom di quella applicazione allora potrebbe essere pi�
difficile... per scoprirlo, puoi usare Spy++, che c'� tra le utility
di VB6, se lo hai installato.
-------------------------------------------------------------
Sembra facile.............................
ho trovato un esempio che legge il testo scritto in notepad e che si basa
sul codice:
Dim ChildHandle As IntPtr = FindWindowEx(hwnd, IntPtr.Zero, "Edit", Nothing)
ovviamente prima viene trovato l' hwnd della finestra, ma trovare l' hwnd di
qualsiasi finestra (nel mio caso mi interessa la finestra in primo piano)
tramite GetForegroundWindow() non � un problema
Il codice funziona benissimo se in primo piano metto Notepad, e la label si 
riempie del testo di Notepad, mentre
visualizza porcherie per qualsiasi altro programma
Evidentemente la chiave del  successo � tutta in quell  "Edit"  che
a quanto pare � il nome di riferimento della TextBox di Notepad
In effetti se analizzo con Spy++, se osservo Notepad vedo due sottocontrolli
(se si chiamano cos�) , si cui uno si chiama effettivamente Edit
Allora mi dico "con Spy++ andiamo a vedere i controlli della finestra del 
programma di
Poker": ma vedo solo una serie di Class, tipo ChatClass, ChatEditorClass ecc 
ecc

 ecc
... che sono esattamente i nomi di classe che ti servono per
FindWindowExt, anche "Edit" di Notepad è un nome di classe.
Il problema a cui accennavo io è un altro: una volta ottenuto l'handle
di finestra con FindWindowExt, quei controlli supporteranno o meno il
messaggio WM_GETTEXT ?
Li sta il punto

... che sono esattamente i nomi di classe che ti servono per
FindWindowExt, anche "Edit" di Notepad � un nome di classe.
Il problema a cui accennavo io � un altro: una volta ottenuto l'handle
di finestra con FindWindowExt, quei controlli supporteranno o meno il
messaggio WM_GETTEXT ?
Li sta il punto................................
mah, non ottengo nessuna risposta... L' unica differenza  � che mettendo nel 
codice quei nomi di Classi, invece di porcherie la label non visualizza 
nulla
I Class Styles visualizzati nelle propriet� di Spy++, se pu� essere una info 
utile, differiscono da quelli di Notepad (e del mio programma, per fare un 
altro esempio)
In notepad le Class Styles sono di tipo CS_GLOBALCLASS, nel programma di 
Poker sono di tipo CS_PARENTDC