View Full Version : [C++] focus su finestre
ciao a tutti,
sono molto alle prime armi del c++,
volevo chiedere se sapete aiutarmi a capire come è possibile in c++ sapere in qualsiasi momento quale finestra (di una applicazione qualsiasi) sia attiva.
In parole povere se la mia applicazione è aperta vorrei sapere se l'utente clicca sulla finestra di un'altra applicazione e che applicazione è...
non so se mi sono spiegato bene, cmq credo si dica focus.
So che non è una domanda facile ne veloce ma se qualche buon anima sapesse indirizzarmi sulla buona strada ne sarei grato.
Grazie a tutti
ciao a tutti,
sono molto alle prime armi del c++,
volevo chiedere se sapete aiutarmi a capire come è possibile in c++ sapere in qualsiasi momento quale finestra (di una applicazione qualsiasi) sia attiva.
In parole povere se la mia applicazione è aperta vorrei sapere se l'utente clicca sulla finestra di un'altra applicazione e che applicazione è...Ti rispondo facendo riferimento a Windows, visto che non hai specificato.
Puoi ottenere l'handle HWND della finestra in foreground tramite la funzione Win32 GetForegroundWindow.
Così però ottieni solo il suo handle. Tramite altre funzioni puoi avere altre informazioni (es. il titolo della finestra).
intanto grazie della risposta,
siccome come ho già detto sono molto alle prime armi vorrei chiederti cosa è l'handle???
e poi per foreground non si intende forse la finestra non in primo piano? oppure si intende proprio quella "attiva"?
grazie intanto
siccome come ho già detto sono molto alle prime armi vorrei chiederti cosa è l'handle???Parlando in generale ma proprio molto in generale, per "handle" si intende normalmente un valore che permette di fare riferimento ad una risorsa. In Win32 ci sono un sacco di handle: di file, di finestre, di icone, di processi, ecc.....
e poi per foreground non si intende forse la finestra non in primo piano? oppure si intende proprio quella "attiva"?"foreground" vuol proprio dire "in primo piano".
Leggi <qui> (http://msdn2.microsoft.com/en-us/library/ms633505.aspx) la documentazione di GetForegroundWindow.
grazie mille adesso ho un altro problema...
si vede che sono propio alle prime armi
ho implementato la funzione getforegroundwindows ma quando la uso io cerco di "copiarmi" il suo risultato in una variabile
ho provato con una variabile di tipo long e un char[10] ma mi da sempre come errore in compilazione " incompatible type in assignement of 'HWND_*' to 'char[10]'
oppure ovviamente
incompatible type in assignement of 'HWND_*' to 'long'
che variabili devo usare per "salvarmi il risultato di questa funzione
ho letto delle documentazioni e degli esempi
non sono sfaticato solo che in molti esempi usano una variabile long ma a me non funge!
tomminno
13-06-2007, 22:30
Chiaramente devi usare una variabile di tipo HWND.
grazie ragazzi sono riuscito a fare tutto
anche ad avere il titolo della finestra attiva in una stringa
siete mitici pensavo avrei fatto più fatica!
vBulletin® v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.