[Love] 23 Set 15:58 mostra opzioni
Newsgroup: it.comp.lang.delphi
Da: "[Love]" <acanon...@email.it> - Trova messaggi di questo autore
Data: 23 Sep 2005 06:58:55 -0700
Locale: Ven 23 Set 2005 15:58
Oggetto: FindWindow & GetClassName
Rispondi | Rispondi all'autore | Inoltra | Stampa | Messaggio singolo | Mostra originale | Elimina | Segnala illeciti
Dopo aver certato sul newsgroup e su vari forum ...
ho iniziato a buttar giù il codice :
- Nascondi testo tra virgolette -
- Mostra testo tra virgolette -
>procedure TFMain.edGeneraTIFClick(Sender: TObject);
>var
> ClassName: array[0..255] of char;
> hPrev , IndexW , IndexAux : hwnd;
>begin
> hPrev:=GetForeGroundWindow;
>try
>begin
> IndexW := 0;
> ClassName := 'Afx:400000:8:10011:0:503bb';
> IndexW := FindWindow(ClassName,nil);
> GetClassName(IndexW,ClassName,SizeOf(ClassName));
> Application.ProcessMessages;
> SetForeGroundWindow(IndexAux);
> Application.ProcessMessages;
> // .........
> keybd_event(ord('F'), 0, 0, 0);
> keybd_event(ord('F'), 0, KEYEVENTF_KEYUP, 0);
> // varie altre cose...
> // ........
> SetForeGroundWindow(hPrev);
> Application.ProcessMessages;
>end;
Perchè la FindWindow mi restituisce sempre 0?
Per conoscere la class name ho sia usato Winsight, sia ho eseguito la
findwindow in base al nome della finestra (ma dato che cambia sempre in
base al file aperto.. dovrei effettuare la findwindow con la sola
classe):
> IndexW := FindWindow(nil,'IJSView - [a.IJP]');
> GetClassName(IndexW,ClassName,SizeOf(ClassName));
e ClassName risulta sempre avere lo stesso valore
'Afx:400000:8:10011:0:503bb'. Dove sbaglio?
Grazie in anticipo.