Domanda

Come posso ottenere la finestra "ID" - Numero univoco associato a una finestra Win32?

Posso ottenere l'ID all'interno di uno script NSIS (file .nsi)?Se non quale programma esterno posso usare?Reshacker non mi mostra i dialoghi corretti quando eseguo il mio installatore per qualche motivo.Ho sentito parlare di Gdispy o qualcosa con un nome simile a quello.

Quello che sto cercando di fare è cambiare l'indice Z di alcune finestre all'interno di pagine MUI2 e per impostare gli sfondi di controllo caselle in modo trasparente all'interno di una pagina personalizzata.

Qual è il tuo metodo più semplice per scoprire un ID univoco di Windows?

Modifica Scusa, non ho familiarità con il termine corretto è per quello di cui sto parlando.Non sto parlando della variabile HWND / handle che sto parlando di quell'ID Window Windows ID Windows che è un numero intero.

# In NSIS 
GetDlgItem $R0 ${parentHWND} 1012 # the 1012 is what I am referring to as the window ID 
.

È stato utile?

Soluzione

Gli ID per una finestra di dialogo Controlli figlio possono essere trovati con uno strumento spia come winspy ++ (Questo strumento lo visualizza in esagono in modo che converti con calc.exe o prefisso il numero con 0x in the .nsi)

NSIS ha due finestre di dialogo nidificate, la finestra di dialogo esterna ospita i pulsanti successivi, retro e annulla.La finestra di dialogo interiore ospita i comandi per la pagina corrente.

Per ottenere la maniglia su un pulsante nella finestra di dialogo esterna:

GetDlgItem $1 $hwndparent 1
.

E per la finestra di dialogo interiore:

FindWindow $0 "#32770" "" $HWNDPARENT ;Find inner dialog first
GetDlgItem $1 $0 0x666
.

Per una pagina personalizzata, l'ID (e Z-Order) dipende dall'ordine in cui crei i controlli in ...

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top