Newsgroup: it.comp.lang.visual-basic
Titolo: Mandare del testo ad un applicazione esterna con SendMessage

Salve ragazzuoli,
mi trovo davanti al seguente problema...
Sto sviluppando una sorta di plugin per msn messenger e dalla mia 
applicazione vorrei inviare del testo alle varie finestre di msn quando 
avvengono determinati eventi (diciamo una sorta di trigger per farla 
breve)...
Nelle prime versioni ho provato a dare il focus alla finestra e a spedire 
tutto con il Sendkeys e l'applicazione funziona ottimamente...se non fosse 
che mi piacerebbe che il fuoco non si spostasse...quindi mi sono detto...beh 
ho l'handle della finestra...che ci vorrà mai :D
ho cercato un pò in giro e sperao di aver trovato la soluzione nelle api
setWindowText e/o SendMessage
Ma purtroppo se le chiamo sul mio handle mi cambiano la caption della 
finestra in questione,mentre io vorrei inviare il testo...
Penso che la soluzione sia nella SendMessage, solo che data l'ora (e 
probabilmente la mia scarsa capacità nel cercare)  non ho trovato alcuna 
soluzione al mio problema...
Qualcuno ha qualche suggerimento ?!?
Grazie Giuseppe
p.s. Passerò la notte in bianco senza risolvere il problema...ma spero che 
qualcuno di voi mi renda più dolce il risveglio :D
p.p.s. Appena terminato sto plugin mi piacerebbe inserirlo nel sito comune 
(anche se non sò precisamente a chi rivolgermi) perchè ha un sacco di 
funzionalità interessanti...tra cui quella di simulare un invisibilità stile 
icq [ossia essere visibile solo ad un certo numero di persone e poterci 
comunicare mentre si è offline per gli altri] 

 finestra in questione,mentre io vorrei inviare il testo...
Non ho ben chiaro quello che vuoi fare, ma...
Se vuoi cambiare il testo di un TextBox dentro una finestra, usare la 
SetWindowText e/o la SendMessage con la finestra non e' che serva a 
molto...devi trovare l'handle del Textbox e lavorare con quello.

 Grazie Giuseppe
Ciao
@Alex
-- 
Posted via Mailgate.ORG Server - 
http://www.Mailgate.ORG

Ok gente....sorry per la spiegazione cervellotica, ma considerate l'orario 
:D
mi spiego meglio :
Vorrei inviare da un mio applicativo vb del testo in una textbox di un 
programma esterno e al momento ho l'handle della finestra nella quale si 
trova questa textbox.
Ho già pensato che mi potrebbe servire l'handle della textbox nella quale 
voglio andare a scrivere, ma onestamente non sò in che modo procurarmelo...
Spero di essere stato più chiaro
Grazie Giuseppe 

 wrote in message
news:5eLxf.29226$
av6....@tornado.fastwebnet.it

Ci sarebbe da chiarire il discorso della ClassName degli Oggetti.
In questo caso dovresti ricavare il ClassName della TextBox
che solitamente è "Edit", quindi con FindWindowEX accedi
alla classe in questo modo:
Private Sub CMDGETEDIT (strApplicazione as stringa, strIN as stringa)
	‘ Questa funzione recupera il contenuto della finestra Child
	‘ in questo caso è la finestra di editazione “TEXTBOX” che ha come 
	‘ ClassName=”Edit”
    Dim lHwnd 	As Long	‘ Handle di NOTEPAD 
    Dim lEditHwnd 	As Long	‘ Handle della TEXTBOX(Child)
    Dim sEDIT	As String * 256 	‘ Buffer stringa
    sEDIT=strIN 
    lHwnd = FindWindow(strApplicazione , vbNullString)
    lEditHwnd = FindWindowEx(lHwnd , 0&, "Edit", vbNullString)
    SendMessage lEditHwnd , WM_SETTEXT, 256, sEDIT
End sub
Vedi se questo funziona.


 
Ovviamente se le TextBox sono più di una dovrai enumerarle
forse potrebbe essere utile EnumChildWindows.
