2012-12-12 25 views
5

Secondo Enable and Control DWM Composition:DwmIsCompositionEnabled è ancora utilizzabile in Windows 8?

Nota Come di Windows 8, le informazioni in questa sezione non è più valida . DWM non può più essere disabilitato a livello di programmazione, né lo è disattivato quando un'applicazione tenta di disegnare sulla superficie dello schermo principale . Le seguenti informazioni si applicano solo ai sistemi precedenti di Windows 7 e .

OK. Quindi non possiamo più al livello di programmazione disabilitare DWM. Ma può ancora essere disabilitato? pfEnabled di DwmIsCompositionEnabled sarà sempre impostato su TRUE su Windows 8?

Se la composizione può essere disabilitata in qualche modo, DwmIsCompositionEnabled è ancora utile in qualche modo?

+0

ci non potrebbe essere Apps Store senza DWM. Non capisco il punto della domanda, stai per scrivere codice che può essere eseguito solo su Win8 ma non su Win7?È un po 'imprudente. –

+2

Cosa ti fa pensare che? La mia app esegue la pittura personalizzata su Vista/7 in base allo stato DWM, quindi voglio semplicemente sapere se DwmIsCompositionEnabled restituisce sempre true su Windows> = 8. –

risposta

8

Secondo Desktop Window Manager is always on (Windows) su MSDN:

In Windows 8, Desktop Window Manager (DWM) è sempre ON e non può essere disabilitata dagli utenti e applicazioni finali.

In Windows 8, la composizione desktop DWM è un componente del sistema operativo principale e non può essere disabilitato. Con alcune eccezioni, la composizione desktop è sempre su; è avviato prima dell'accesso utente e rimane attivo per la durata di una sessione.

Tutte le opzioni per la disattivazione composizione del desktop che esistono in Window 7 vengono rimossi

Apps non possono utilizzare DwmEnableComposition per disabilitare composizione del desktop. Per mantenere la compatibilità con le versioni precedenti, una chiamata a questa API restituirà il successo ; tuttavia, composizione del desktop non è disattivato

Beh, non c'è una risposta abbastanza definitiva. Sono un po 'curioso di sapere a cosa si riferisce "con poche eccezioni", tuttavia ... per favore aggiungi un commento se lo sai. :)

3

Contrariamente a quanto la gente parlare ("hanno tolto il codice", "il tema di base non c'è più", etc.) il vecchio stile visivo è vivo e vegeto in Windows 8.

L'unica il problema è che non è così chiaro come usarlo per le normali applicazioni!

Questo non è la disabilitazione DWM di per sé, ma è certamente la disabilitazione composizione: basta scaricare il calcolatore PowerToy per Windows XP e provare a eseguire in modalità di compatibilità in Windows 8, e vedrete il vecchio tema è ancora lì:

+1

Tecnicamente, qualsiasi applicazione può impostare il criterio di rendering non client DWM su Disabilitato con DwmSetWindowAttribute metodo, poi il tema di base riappare al posto del vetro. Tuttavia, afaik che non modifica ciò che IsCompositionEnabled restituisce poiché quello è lo stato del sistema globale e non quello dell'applicazione. –