리소스에 추가되있는 이미지 파일로 바탕화면 바꾸기
// 추가
using System.Runtime.InteropServices;
using System.IO;
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 Set(string wpaper, Style style)
{
System.Drawing.Image img = Properties.Resources.login;
string tempPath = Path.Combine(Path.GetTempPath(), "wallpaper.bmp");
img.Save(tempPath, System.Drawing.Imaging.ImageFormat.Bmp);
Microsoft.Win32.RegistryKey key = Microsoft.Win32.Registry.CurrentUser.OpenSubKey(@"Control Panel\Desktop", true);
if (style == Style.Stretched)
{
key.SetValue(@"WallpaperStyle", 2.ToString());
key.SetValue(@"TileWallpaper", 0.ToString());
}
if (style == Style.Centered)
{
key.SetValue(@"WallpaperStyle", 1.ToString());
key.SetValue(@"TileWallpaper", 0.ToString());
}
if (style == Style.Tiled)
{
key.SetValue(@"WallpaperStyle", 1.ToString());
key.SetValue(@"TileWallpaper", 1.ToString());
}
SystemParametersInfo(SPI_SETDESKWALLPAPER, 0, tempPath, SPIF_UPDATEINIFILE | SPIF_SENDWININICHANGE);
}
'▩▩ 프로그래밍 ▩▩ > C#' 카테고리의 다른 글
[C#] 색깔있는 커스텀 마우스 커서 (0) | 2013.08.26 |
---|---|
[C#] Dictionary<>를 foreach 루프 돌리기 (0) | 2013.08.22 |
[C#] Async / await (0) | 2013.07.04 |
[C#] 파일 입출력 / 바이너리 파일 저장 (0) | 2013.07.04 |
[C#] 비주얼 스튜디오 2012 리소스(Resource) 파일 등록 (0) | 2013.06.26 |
[C#] 레지스트리 등록 / 읽기 / 삭제 (1) | 2013.06.26 |
[C#] 이미지 <-> byte[] (0) | 2013.06.26 |
[GMap] 도구상자에 GMap 컨트롤 추가 (2) | 2013.05.30 |