Gibt es eine Möglichkeit, das Windows-Hintergrundbild mithilfe einiger neuer Funktionen in .NET 4 zu ändern?Windows Wallpaper mit .NET 4.0 ändern?
Antwort
Sie können SystemParametersInfo verwenden, um den Desktop-Hintergrund zu setzen. Dies sollte bei allen Windows-Versionen, auf denen Ihre App ausgeführt werden kann, konsistent funktionieren, erfordert jedoch einige Interop-Vorgänge.
Folgende Interop Erklärungen sind, was Sie brauchen
public const int SPI_SETDESKWALLPAPER = 20;
public const int SPIF_UPDATEINIFILE = 1;
public const int SPIF_SENDCHANGE = 2;
[DllImport("user32.dll", CharSet = CharSet.Auto, SetLastError = true)]
public static extern int SystemParametersInfo(
int uAction, int uParam, string lpvParam, int fuWinIni);
, die wie folgt verwendet werden können, um die Tapete Desktop zu ändern
SystemParametersInfo(
SPI_SETDESKWALLPAPER, 0, "filename.bmp",
SPIF_UPDATEINIFILE | SPIF_SENDCHANGE);
Sie legen das Hintergrundbild fest, indem Sie die Registrierung aktualisieren. Hier ist ein Artikel aus dem Jahr 2006, der erklärt, wie es geht. Die Details können sich mit neueren Versionen von Windows geändert haben, aber das Konzept sollte identisch sein. Framework-Version sollte nicht relevant sein.
http://blogs.msdn.com/coding4fun/archive/2006/10/31/912569.aspx
Beachten Sie, dass Systemparameters auch wahr zurück, wenn die angegebene Datei tut nicht existieren! (Mindestens Windows 8)
Außerdem müssen Sie der Datei den vollständigen Pfad angeben, nicht nur einen relativen Pfad.
Auch auf Windows 7 und höher wird dies ein neues Thema erstellen und Bild Shuffling natürlich deaktivieren.
- 1. Referenz Windows-Shell-Schnittstelle mit .net 4.0
- 2. Windows Wallpaper: nicht nur BMPs?
- 3. log4net mit .NET 4.0
- 4. Wird .NET 4.0 mit Microsoft.Jet.OLEDB.4.0 geliefert?
- 5. Entwicklung für .NET 4.0 (Windows XP) mit Visual Studio 2012
- 6. Svcutil.exe für .NET 4.0?
- 7. NSIS-Installationsprogramm mit .NET 4.0
- 8. enthält .NET 4.5. NET 4.0
- 9. Sharepoint 2010 Foundation mit .Net Framework 4.0
- 10. Tempomat .NET 4.0 MSBUILD Logger
- 11. Log4Net und .NET 4.0
- 12. ninject .net 4.0
- 13. Downgrade Windows-Workflow von. NET 4.5 zu 4.0
- 14. . Net 4.0 HttpClient Nutzung?
- 15. Multithread-Formularanwendung (.NET 4.0)
- 16. Compile .net 4.0-Projekt auf Build-Server mit .net 4.5
- 17. C# .NET 4.0 - Windows-Bereitstellung für mehrere Anwendungen
- 18. Welche Version von .net 4.0 sollte für Windows Service verwendet werden (4.0 voll oder Client Profil)
- 19. Windows-Workflow 4.0 Persistenz
- 20. Nant msbuild Aufgabe mit. NET 4.0 rc
- 21. Erwarten Observable in Net 4.0 mit Microsoft.Bcl.Async
- 22. Visual Studio 2010 Problem mit .NET 4.0
- 23. TPL .net 4.0 messageBox mit verstrichener Zeit
- 24. Android - Set Wallpaper mit der "Set Wallpaper" Absicht
- 25. Enthält .NET 4.0 .NET 2.0 nicht?
- 26. Ziel .NET 4.0, aber .NET 4.5 ist erforderlich
- 27. NHibernate unterstützt .NET 4.0 Framework?
- 28. Kann .NET 4.0-Code mit .NET 2.0-Code zusammenarbeiten?
- 29. NancyFX Selbst Host + SignalR + .Net Framework 4.0
- 30. SecurityAction.RequestMinimum ist in .Net 4.0
Große Antwort. Wirklich hilfreich, danke! –