-
14-12-2008, 04:40 PM #1Junior Member
- Ngày tham gia
- Sep 2015
- Bài viết
- 0
Thiết lập wallpaper với nhiều định dạng ảnh trong lập trình C#
Bạn muốn làm 1 chương trình quản lý ảnh có chức năng set wallpaper! Đã có 1 tut của Nerverland về cái này nhưng chỉ set đc với các ảnh bmp ! Lang thang trên codeproject tìm đc cái này có thể set wallpaper cho nhiều đinh dạng ảnh khác nữa .
Đây là 1 sealed class,khi nào cần dùng trong project của mình các bạn chỉ cần add nó vào là xài thoải mài.
Mã:#region Using directives using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using System.Drawing;using System.Text;using System.Windows.Forms;using System.Runtime.InteropServices;using Microsoft.Win32;using System.IO; #endregion namespace SetWallpaperTest{ public sealed class Wallpaper { Wallpaper() { } const int SPI_SETDESKWALLPAPER = 20; const int SPIF_UPDATEINIFILE = 0x01; const int SPIF_SENDWININICHANGE = 0x02; [DllImport("user32.dll", CharSet = CharSet.Auto)] static extern int SystemParametersInfo(int uAction, int uParam, string lpvParam, int fuWinIni); public enum Style : int { Tiled, Centered, Stretched } public static void SetWallpaper(Image img, Style style) { string tempPath = Path.Combine(Path.GetTempPath(), "wallpaper.bmp"); img.Save(tempPath, System.Drawing.Imaging.ImageFormat.Bmp); RegistryKey key = Registry.CurrentUser.OpenSubKey(@"Control Panel\Desktop", true); if (style == Style.Stretched) { key.SetValue(@"WallpaperStyle", 2.ToString()); key.SetValue(@"TileWallpaper", 0.ToString()); } else if (style == Style.Centered) { key.SetValue(@"WallpaperStyle", 1.ToString()); key.SetValue(@"TileWallpaper", 0.ToString()); } else if (style == Style.Tiled) { key.SetValue(@"WallpaperStyle", 1.ToString()); key.SetValue(@"TileWallpaper", 1.ToString()); } SystemParametersInfo(SPI_SETDESKWALLPAPER, 0, tempPath, SPIF_UPDATEINIFILE | SPIF_SENDWININICHANGE); } } }
View more random threads:
- viết hàm đọc viết số phức ra file ??? Mình viết nó bị lỗi mọi người xem dùm mình với :((
- Multi Combobox dotnetbar C# gõ phím muốn hiển thị nhiều cột
- Hướng dẫn C# | Hướng dẫn đo tốc độ chương trình trong c#
- Phím tắt trong Visual Studio 2008 | Tài liệu dạng pdf.
- Cần giúp đỡ code C# bằng nút snap.
- Nhận dạng biển số xe ô tô
- Tut hướng dẫn khắc phục lỗi "The Operation has timed out" khi viết ứng dụng Webservices WCF trong ASP.Net C#
- Có ai có kiến thức về lập trình C# điểu khiển 3 động cơ servo 3 trục không dùng Motion Control Card điều khiển .
- Thuật toán suy diễn tiến trong hệ chuyên gia/trí tuệ nhân tạo trong C#
- Đọc từng byte của file trong lập trình C#?
-
16-12-2008, 08:27 AM #2Junior Member
- Ngày tham gia
- Sep 2015
- Bài viết
- 0
Cái này set được nhiều định dạng ảnh vì nó covert tất cả thành bmp mà [IMG]images/smilies/smile.png[/IMG]
Mã:string tempPath = Path.Combine(Path.GetTempPath(), "wallpaper.bmp"); img.Save(tempPath, System.Drawing.Imaging.ImageFormat.Bmp);
Sau đó mới set.
Kiểu này được sử dụng nhiều vì nó set đc tất cả các phiên bản windows.Hồi lâu lâu trước đây Tom có làm 1 cái thì thấy đối với windows vista và Windows 7 thì chỉ cần viết chỉnh REG thì cũng set được Wapper rồi.
Nên code này 1 thời gian nữa sẽ thành đồ cổ mất rồi [IMG]images/smilies/biggrin.png[/IMG]
-
16-12-2008, 09:27 AM #3Junior Member
- Ngày tham gia
- Sep 2015
- Bài viết
- 0
Gửi bởi tom_codon
p/s:tom post luôn cái update của tom google translate đi :P
Sự đa dạng trong các mẫu mã và kiểu dáng của sản phẩm Đồ Thờ Gỗ cũng là điểm thu hút đặc biệt. Từ những tượng phật nhỏ xinh, đến các bức thư pháp hoặc các bát hương gỗ được điêu khắc tỉ mỉ, đều mang...
Tinh Thần Truyền Bá: Skyhome.vn và...