Domanda

Sto cercando di fare una domanda che ha bisogno di disegnare sul desktop, dietro le icone in modo che appaia per sostituire lo sfondo del desktop. Ho trovato un paio di soluzioni a questo, ma la maggior parte di loro non ha funzionato molto bene (un sacco di sfarfallio). Una soluzione sembra essere quello che sto cercando , ma io in realtà non farlo. Ho fatto la maggior parte delle applicazioni C # usando sia le librerie di più alto livello di grafica o solo Windows Form, e un po 'di C ++, ma solo su piattaforme non Windows.

Se qualcuno potesse "tradurre" per me o fornire una soluzione alternativa, che sarebbe molto apprezzato!

È stato utile?

Soluzione

Non ho mai trovato la soluzione che volevo, ma qui ci sono le migliori (solo?) Alternative:

  • Disegna alla finestra "SysListView32" (ProgMan -> SHELLDLL_DefView -> SysListView32). Questo attirerà dietro le icone del desktop, ma lampeggia quando si utilizza l'animazione. Come: collegamento (dovrete usare Interop NET).

  • sovrapposizioni Usa DirectDraw. È possibile impostare il colore del desktop ad un certo colore oscuro e tutto con quel colore sarà sostituito con ciò che è sulla sovrapposizione. Questo viene utilizzato nell'esempio nella mia interrogazione e in modalità carta da parati VLC. Tuttavia, questo non è compatibile con Aero. Come:. Link (? Credo che si potrebbe utilizzare Managed DirectX in .NET)

Altri suggerimenti

È possibile trovare ispirazione nel codice VLC media player. c'è un modalità carta da parati che fa quello che stai cercando.

Sì, con l'interoperabilità, vedi questo thread.

visto questa domanda di passaggio e ho fatto in parte risolvere il problema (ma non in un modo che posso dare alcun codice utile) per fare alcuni giochi fresco, anche se potrebbe non avere l'applicazione che si desidera:

  • Imposta sfondo del desktop torna alla normalità e prendere uno screenshot del desktop
  • Imposta sfondo desktop nero e prendere uno screenshot del desktop
  • Imposta sfondo del desktop bianco e prendere uno screenshot del desktop
  • Unire le versioni in bianco e nero per fare una maschera e il primo screenshot come impostazione valori dei pixel che sono diversi trasparente sovrapposizione.

Ora sul modulo trarre la seguente nell'ordine:

  1. Disegna il primo screenshot
  2. Disegna la tua roba modulo
  3. Disegna la sovrapposizione del desktop è stato creato

Questo è quello che ho fatto per una forma schermo intero, ma potrebbe essere adattato per le forme non a schermo pieno abbastanza facilmente credo. In sostanza si è ricreato il desktop, ma con la capacità di fare qualsiasi cosa con esso tra cui alcuni giochi cool. La velocità di estrazione e le prestazioni sono soddisfacenti per tutte le applicazioni, ma l'interattività del desktop è un problema ... :( Ecco una foto di un gioco di carri armati utilizzando il principio tranne ho impostato lo sfondo bianco e fatto tutte sfondi bianchi trasparenti troppo!

mie vasche gioco

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