Domanda

Voglio minimizzare la mia applicazione, fare uno screenshot del desktop corrente e riportare la mia applicazione al suo stato originale.

Questo ha funzionato bene con Windows XP, tuttavia durante i test su diverse macchine Vista il tempo minimo di 200 millisecondi non è più valido.

C'è un modo per chiedere al sistema operativo quando ha terminato questi effetti fantasiosi o cercare quanto tempo è stato dato per eseguire l'operazione?

È stato utile?

Soluzione

Il più vicino che riesco a trovare è SPI_GETUIEFFECTS, che ti dice se tali effetti sono abilitati.

Se abilitato, puoi ovviamente usare SPI_SETUIEFFECTS per disattivarli. Ma questo è un metodo piuttosto fucile da caccia: come li ripristineresti? Probabilmente è meglio disattivare temporaneamente quelli che ti infastidiscono di più.

Altri suggerimenti

Anche se non conosco un modo per fare ciò che chiedi, ho un suggerimento: invece di ridurre a icona la finestra della tua applicazione, perché non nasconderla (con ShowWindow (SW_HIDE))? Ciò non sarà soggetto agli effetti di animazione, quindi dovrebbe essere praticamente istantaneo.

Forse invece minimizzando dovresti portare il desktop in primo piano?

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