Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 11
  1. #1
    Utente di HTML.it
    Registrato dal
    Apr 2007
    Messaggi
    13

    [C] Risalire all'ID di un controllo Win32

    Ciao a tutti, premetto che sono veramente molto niubbo in programmazione C, in particolare sulle API Windows, a cui mi sto avvicinando in questi giorni. Vorrei creare un programma che inserisce del testo in un controllo Edit posizionato in una tab che non è quella aperta di default. Cercando un po' su Internet ho notato la funzione GetDlgItem che mi sembrerebbe la migliore a questo scopo (per impostare il focus); il problema è che il programma con cui voglio interagire non l'ho scritto io e quindi non so qual è l'ID dei due controlli interessati. Esiste un modo per ottenerlo? Se fosse possibile sapere l'ID (o anche l'handle) del controllo che ha attualmente il focus avevo pensato a scrivere un programmino che lo visualizzi e poi impostare semplicemente il focus manualmente, però non ho la minima idea di come si faccia (sempre se è possibile)...

  2. #2
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,481
    Non ho capito bene ... il programma non l'hai scritto tu ma hai il sorgente ... giusto?

  3. #3
    Utente di HTML.it
    Registrato dal
    Apr 2007
    Messaggi
    13
    Sì in effetti rileggendo mi accorgo che anch'io avrei fatto fatica a capire...praticamente ho un programma non scritto da me e di cui non ho il sorgente con cui vorrei "interagire" automaticamente (scrivendo del testo in una casella edit, posizionata in una tab che non è quella aperta di default e che quindi dovrei prima attivare, e poi simulando la pressione di un button) attraverso un programma esterno scritto da me

  4. #4
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,481
    Beh ... allora la cosa non e' semplice, soprattutto perche' non sei esperto in C ...

    La GetDlgItem ti permette di ottenere l'handle del controllo contenuto nella Dialog ma prima devi conoscere l'handle della Dialog ...

    Per farlo devi comunque cercare con la FindWindow per ottenere l'handle della finestra principale. Comunque bisogna vedere il caso specifico, perche' dipende dalla posizione del controllo all'interno dei vari contenitori ...

  5. #5
    Utente di HTML.it
    Registrato dal
    Apr 2007
    Messaggi
    13
    Immaginavo che non sarebbe stata una cosa facile...ecco la finestra in cui vorrei agire:


    Dovrei prima passare alla tab "Stealth installation" e quindi scrivere del testo nelle due caselle Edit, dopodiché cliccare su Install Now...

  6. #6
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,481
    Ma di che programma si tratta?

    Perche' mai dovresti far partire un programma per far partire l'installazione di un altro programma?

    Usa il normale programma di installazione ...

  7. #7
    Utente di HTML.it
    Registrato dal
    Apr 2007
    Messaggi
    13
    Perchè siccome dovrei eseguire l'installazione su molte macchine vorrei automatizzarla, se possibile, in modo da fare più velocemente...e poi è anche un po' un "esercizio" per capire qualcosa in più sulle API Win32...

  8. #8
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,481
    Originariamente inviato da Meldor
    Perchè siccome dovrei eseguire l'installazione su molte macchine vorrei automatizzarla
    Probabilmente esiste un modo da "linea di comando" ... ma bisogna sapere di quale programma si tratta ... su questo non mi hai risposto ...

    Anche se, a quanto vedo, installa un driver (.sys) e in modalita' "stealth" ... (nascosta) ...

    ... e queste due caratteristiche mi lasciano, a dire poco, "perplesso" ...

    ...e poi è anche un po' un "esercizio" per capire qualcosa in più sulle API Win32...
    Beh ... e' piu' di un esercizio ...

  9. #9
    Utente di HTML.it
    Registrato dal
    Apr 2007
    Messaggi
    13
    Tranquillo, è semplicemente l'installer per un driver e il software di gestione per un circuito costruito nella scuola dove lavoro come tecnico di laboratorio, solo che il professore che ha scritto il programma non è più rintracciabile...e stealth significa semplicemente che evita di avviare l'installer tradizionale stile Install Shield per alcuni componenti del programma e fa tutto con un click...

    EDIT: il programma non è previsto per utilizzare parametri da riga di comando; in effetti sarebbe stato infinitamente più semplice il tutto...

  10. #10
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,481
    Bene ... allora inviamelo (magari in privato) che ci do' un'occhiata e vedo cosa si puo' fare ...

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2026 vBulletin Solutions, Inc. All rights reserved.