MAdSimon
28-07-2009, 13:10
Salve a tutti,
Sto facendo un'app in DevC++ per prendere una lista di ip da un programma di VPN. Questo mi servirà in seguito per fare un giochino multiplayer, che avendo già gli ip dei giocatori potrà effettuare da solo le connessioni senza dover fare il solito scambio di ip.
Finora sono riuscito a prendere l'handle della finestra principale del programma con FindWindow(). Poi con FindWindowEx() ho preso l'handle del controllo che tiene la lista degli ip.
Il controllo che contiene gli ip è un SysListView32. Sono sicuro che l'handle del controllo è corretto, perchè se mando un messaggio TVM_GETCOUNT con SendMessage() mi torna il numero esatto di items.
Il punto è che a me serve il testo degli items stessi. Per prendere il testo bisogna mandare un messaggio TVM_GETITEM, che come parametro in/out ha una struct TVITEM che deve contenere l'handle dell'item di cui si vogliono ottenere gli attributi. Dopo aver inviato il messaggio, la struct conterrà i dati dell'item.
Io l'handle degli item non ce l'ho, ho solo l'handle del controllo. So che esiste il messaggio TVM_GETNEXTITEM, che però ha bisogno anch'esso come parametro di un handle ad un item ( per trovare il successivo, quello selezionato o altri ).
Come faccio a trovare l'handle del primo item? :help:
Grazie in anticipo
Sto facendo un'app in DevC++ per prendere una lista di ip da un programma di VPN. Questo mi servirà in seguito per fare un giochino multiplayer, che avendo già gli ip dei giocatori potrà effettuare da solo le connessioni senza dover fare il solito scambio di ip.
Finora sono riuscito a prendere l'handle della finestra principale del programma con FindWindow(). Poi con FindWindowEx() ho preso l'handle del controllo che tiene la lista degli ip.
Il controllo che contiene gli ip è un SysListView32. Sono sicuro che l'handle del controllo è corretto, perchè se mando un messaggio TVM_GETCOUNT con SendMessage() mi torna il numero esatto di items.
Il punto è che a me serve il testo degli items stessi. Per prendere il testo bisogna mandare un messaggio TVM_GETITEM, che come parametro in/out ha una struct TVITEM che deve contenere l'handle dell'item di cui si vogliono ottenere gli attributi. Dopo aver inviato il messaggio, la struct conterrà i dati dell'item.
Io l'handle degli item non ce l'ho, ho solo l'handle del controllo. So che esiste il messaggio TVM_GETNEXTITEM, che però ha bisogno anch'esso come parametro di un handle ad un item ( per trovare il successivo, quello selezionato o altri ).
Come faccio a trovare l'handle del primo item? :help:
Grazie in anticipo