Abdujaparov
05-11-2006, 09:55
Salve a tutti, sto cercando di prendere le finestre che ho sullo schermi tramite le api win32, il problema è che ne prendo più del dovuto cioè:
-con EnumWindow riesco ad ottenere tutte le handle di tutte le finestre sullo schermo, anche le più strane;
-queste handle poi le passo alla funzione IsWindowVisible che ritorna true se la finestra è visibile;
-poi mi prendo il titolo che compare nella finestra e verifico che sia diverso dalla stringa vuota o da null
In questo modo elimino tutte le finestre non visibili e tutte quelle senza titolo.
Pensavo di essere giunto alla soluzione, invece no.
Se io vado a stamparmi tutti ti titoli e le handle delle finestre me ne ritrovo alcune che non so perchè copaiano.
Per esempio mi ritovo sempre "Program Manager" se apo winamp, ad esempio, oltre al titolo di winamp, che compare sulla barra delle applicazioni, mi trovo anche una finestra "Player media" (o "Player manager" non ricordo di preciso il titolo ma poco importa).
Come posso fare in modo da evitare di prendere queste finestre che nella barra delle applicazioni non compaiono? A me interessano solo quelle nella barra delle applicazioni.
Grazie a tutti, ciao ciao.
-con EnumWindow riesco ad ottenere tutte le handle di tutte le finestre sullo schermo, anche le più strane;
-queste handle poi le passo alla funzione IsWindowVisible che ritorna true se la finestra è visibile;
-poi mi prendo il titolo che compare nella finestra e verifico che sia diverso dalla stringa vuota o da null
In questo modo elimino tutte le finestre non visibili e tutte quelle senza titolo.
Pensavo di essere giunto alla soluzione, invece no.
Se io vado a stamparmi tutti ti titoli e le handle delle finestre me ne ritrovo alcune che non so perchè copaiano.
Per esempio mi ritovo sempre "Program Manager" se apo winamp, ad esempio, oltre al titolo di winamp, che compare sulla barra delle applicazioni, mi trovo anche una finestra "Player media" (o "Player manager" non ricordo di preciso il titolo ma poco importa).
Come posso fare in modo da evitare di prendere queste finestre che nella barra delle applicazioni non compaiono? A me interessano solo quelle nella barra delle applicazioni.
Grazie a tutti, ciao ciao.