Newsgroup: it.comp.lang.delphi
Titolo: trovare HANDLE

ciao
A proposito di quello che ho chiesto ultimamente (sapere o meno se un
componente è free"creao o eliminato" che poi ho usato una var bool=true alla
creazione e false all'eliminazione)
vista la risposta mi sono detto che era l'ora di incominciare a capire
quello che fosse un'Handle visto che io ho sempre usato solo l'Handle ella
mia applicazione.
Ho incominciato a cercare SDK e vecchi post
ma non è che ancora mi sia illuminato sulla questione.
Intanto, cercando su google ho visto delle variabili tipo
var H:HANDLE;// questa non me l'accetta
var H:HWND;//questa si
e non capisco la differenza fra i ue tipi di var
ho provato a fare così .. non sapendo nemmeno che tipo di dato(numerico)
venisse fuori ma zero lo escludo quindi qualcosa non và
Button1.Click;
var H:HWND;
i:integer;
begin
h:=FindWindow('C:\pippo.bmp',nil);
i:=h;
Form1.Caption:=IntToStr(H);
---
naturalmente ho usato ShellApi
Qualsiasi informazione è ben accetta.
 grazie
ciao
erik

 h:=FindWindow('C:\pippo.bmp',nil);
FindWindow accetta come parametri la classe di una finestra (è una stringa)
oppure la caption di una finestra.
Nil ha significato di "qualunque" quindi tu stai chiedendo al sistema
l'handle di una finestra con classe 'C:\pippo.bmp' e titolo qualunque.
Difficile direi... Prova con 'notepad' e nil e vedrai che (se hai aperto una
finestra di blocco note) ne otterrai l'handle...
HTH,
--
Andrea /\/\agni
ICQ#: 174108000

 ha scritto nel messaggio news

----------------------------------------------
Ciao andrea
difatti ho trovato questo codice e funsiona
var h:hwnd;
    s:string;
    i:integer;
begin
s:='Ciao, prova di invio !!!'+#13#10+'Sono andato a capo';
h:=FindWindow('notepad',nil);
i:=h;
Form1.Caption:=inttostr(I);
h:=FindWindowEx(h,0,'Edit',nil);
if h=0 then begin
            showmessage('Impossibile trovare il notepad!');
            exit;
            end;
SendMessage(h,wm_setText,0,Integer(s));
-----------
Ricevo l'Hanle sulla capion e invio anche i dati ma non riesco a trovar
altro che il ntotepad
ho provato con "WRITE" (wordpad)  (in + modi) ma niente
Riesco però a trovare l'handle attraverso il titolo :
h:=FindWindow(nil,'Google - Microsoft Internet Explorer');
ho intuito questo
s:='Ciao, prova di invio !!!'+#13#10+'Sono andato a capo';
h:=FindWindow(nil,'Form1');
i:=h;
Form1.Caption:=inttostr(I);
h:=FindWindowEx(h,0,'TMemo',nil);.. ecc // invia il testo al memo presente
sul mio Form:) difatti non capisco perchè nell'esempio sopra c'è scritto
'Edit' e non 'TEdit' ..forse è una classe diversa da quelle usate in
Delphi.. non sò
---
Ma semplicemente se io volessi trovare l'handle di 'c:\Project1.exe'  senza
usare il Title ne la caption cioè inserendo il 1° parametro soltanto
Un'altra cosa  IE5Tools mi permette di cambiare il Title di IE oppure di
rimuoverlo ma non ho la possibilità i riceverlo come si può fare?
Tutto ciò mi ha rimesso in mente quano cercavo di inviare ad una "casella
<input type="text" " di una pagg HTML
un testo e riuscire a premere il tasto o #13 qualche suggerimento?
ciao
e grazie di nuovo
erik

 un testo e riuscire a premere il tasto o #13 qualche suggerimento?
Per simulare pressioni di tasti c'è pieno di esempi (dalla keybd_event alla
SendInput...)...
Ciao
