Jump to content

C# Ile MasaÜstÜ Arkaplanini DeĞİŞtİrme


wmismail

Recommended Posts

Name Özelliği

Anahtarın adını verir.

SubKeyCount Özelliği

Alt anahtar sayısını verir.

ValueCount Özelliği

Değer sayısını verir.

OpenSubKey() Metodu

Bu metod bir değer okumak amacıyla kullanılır ve geriye registry?e kaydedilmiş bir alt anahtar açar.

GetValue() Metodu

Seçilen anahtarın değeri gösterir.

SetValue() Metodu

Seçilen anahtara yeni değeri atanır.

DeleteSubKey() Metodu

Alt anahtarı siler.

Close() Metodu

Açılan anahtarı kapatır.

Evet kullanacağımız metodları inceledikten sonra ilk olarak yeni bir proje açalım ve bir class ekleyelim.

Wallpaper.cs

using System;
using System.Runtime.InteropServices;
using System.Drawing;
using Microsoft.Win32;
namespace ChangeWallpaper
{
public class 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 Pozisyon : int
{
Tiled,
Centered,
Stretched
// Resmi Döşe, Ortala, Sığdır
}

public void ArkaPlaniDegistir(string path, Pozisyon Pozisyon)
{
RegistryKey key = Registry.CurrentUser.OpenSubKey("Control Panel\\Desktop", true); // Wallpaperin tutulduğu registry Key?i açıyoruz.
switch(Pozisyon) //Keye yeni değeri atıyoruz.
{
case Pozisyon.Stretched : key.SetValue(@"WallpaperPozisyon", "2");
key.SetValue(@"TileWallpaper", "0"); break;
case Pozisyon.Centered : key.SetValue(@"WallpaperPozisyon", "1");
key.SetValue(@"TileWallpaper", "0"); break;
case Pozisyon.Tiled : key.SetValue(@"WallpaperPozisyon", "1");
key.SetValue(@"TileWallpaper", "1"); break;
}

SystemParametersInfo(SPI_SETDESKWALLPAPER, 0, path, SPIF_UPDATEINIFILE | SPIF_SENDWININICHANGE); // Ayarları Kaydediyoruz.
}
}
}[/CODE]

Şimdi bir form ekleyelim ve içine bir tane buton koyalım.

image001.jpg

C:\ArkaPlan\Kediler.Bmp isimli bir resim koydum ve oradaki resim de işte burada :dribble:

image002.jpg

Şimdi masaüstümüzdeki resmi değiştirecek kodu yazalım ve buton?a tıklayalım.

[CODE]Button1.Click

private void button1_Click(object sender, EventArgs e)
{
Wallpaper w = new Wallpaper();
w.ArkaPlaniDegistir("c:\\ArkaPlan\\Kediler.bmp", Wallpaper.Pozisyon.Centered);
// Burada enum içerisinde yer alan farklı özellikleri kullanarak farklı sonuçlar elde edebiliriz.
}[/CODE]

Link to comment
Share on other sites

Archived

This topic is now archived and is closed to further replies.

  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...