|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Senior Member
Iscritto dal: Aug 2001
Messaggi: 1049
|
[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 |
|
|
|
|
|
#2 | |
|
Senior Member
Iscritto dal: Nov 2005
Città: TO
Messaggi: 5206
|
Quote:
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).
__________________
Andrea, SCJP 5 (91%) - SCWCD 5 (94%) |
|
|
|
|
|
|
#3 |
|
Senior Member
Iscritto dal: Aug 2001
Messaggi: 1049
|
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 |
|
|
|
|
|
#4 | ||
|
Senior Member
Iscritto dal: Nov 2005
Città: TO
Messaggi: 5206
|
Quote:
Quote:
Leggi <qui> la documentazione di GetForegroundWindow.
__________________
Andrea, SCJP 5 (91%) - SCWCD 5 (94%) |
||
|
|
|
|
|
#5 |
|
Senior Member
Iscritto dal: Aug 2001
Messaggi: 1049
|
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! |
|
|
|
|
|
#6 |
|
Senior Member
Iscritto dal: Oct 2005
Messaggi: 3306
|
Chiaramente devi usare una variabile di tipo HWND.
|
|
|
|
|
|
#7 |
|
Senior Member
Iscritto dal: Aug 2001
Messaggi: 1049
|
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! |
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 00:01.




















