13 Haz 2008 C# ile MASAÜSTÜ ARKAPLANINI DEGISTIRME Kategori: C#.NET Etiketler: C#C# 2.0 1 Yorum Merhaba arkadaslar, bu makalemizde C# ile Registry Class sinifini kullararak isletim sistemimizin masaüstü arkaplan resminin nasil degistirilecegine bakacagiz. Isletim sistemimiz üzerindeki neredeyse tüm ayarlar registry'de saklanir. Masaüstü arkaplan resmi de bunlardan bir tanesidir. Registery'e erismek için .Net Framework içerisinde Win32 namespace'nin altinda RegistryKey Sinifi bulunmaktadir. Bu sinif Kayit Defterinde bulunan registry degerleri okumamiza, silmemize ve degistirmemizi saglar. Özellikleri ve metodlari sunlardir.Isletim sistemimiz üzerindeki neredeyse tüm ayarlar registry'de saklanir. Masaüstü arkaplan resmi de bunlardan bir tanesidir. Registery'e erismek için .Net Framework içerisinde Win32 namespace'nin altinda RegistryKey Sinifi bulunmaktadir. Bu sinif Kayit Defterinde bulunan registry degerleri okumamiza, silmemize ve degistirmemizi saglar. Özellikleri ve metodlari sunlardir. Name ÖzelligiAnahtarin adini verir. SubKeyCount ÖzelligiAlt anahtar sayisini verir. ValueCount ÖzelligiDeger sayisini verir. OpenSubKey() Metodu Bu metod bir deger okumak amaciyla kullanilir ve geriye registry'e kaydedilmis bir alt anahtar açar. GetValue() MetoduSeçilen anahtarin degeri gösterir. SetValue() Metodu Seçilen anahtara yeni degeri atanir. DeleteSubKey() MetoduAlt anahtari siler. Close() MetoduAçilan anahtari kapatir.Evet kullanacagimiz metodlari inceledikten sonra ilk olarak yeni bir proje açalim 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öse, Ortala, Sigdir }public void ArkaPlaniDegistir(string path, Pozisyon Pozisyon) { RegistryKey key = Registry.CurrentUser.OpenSubKey("Control Panel\\Desktop", true); // Wallpaperin tutuldugu registry Key'i açiyoruz. switch(Pozisyon) //Keye yeni degeri atiyoruz. { 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); // Ayarlari Kaydediyoruz. } }} Simdi bir form ekleyelim ve içine bir tane buton koyalim. C:\ArkaPlan\Kediler.Bmp isimli bir resim koydum ve oradaki resim de iste burada :) Simdi masaüstümüzdeki resmi degistirecek kodu yazalim ve buton'a tiklayalim. Button1.Clickprivate 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 farkli özellikleri kullanarak farkli sonuçlar elde edebiliriz. }Butona tikladim ve sonuç :)Bir sonra ki makalemiz de görüsmek üzere. Iyi çalismalar dilerim. Sem Göksu sem.goksu@yazilimgunlugu.com www.semgoksu.com | www.yazilimgunlugu.com Kaynaklar http://www.msdn.com
13 Haz 2008 Code Behind Tarafında Javascript Çalıştırma Kategori: Yazılım Etiketler: ASP.NETYazılım 4 Yorum Page.RegisterStartupScriptBu komut ile code behind tarafında javascript kodlarını çalıstırabiliyoruz. Bu en çok ASP.NET`de messagebox neden yok diyenlerin isine yarıyor :) Page.RegisterStartupScript metodunu çalıstırırabilmemiz için iki parametre yollamamız gerekiyor. Bunlar key ve script`dir.Key parametresi çalısacak script için benzersiz bir key, Script parametresi de client da çalısmasını istedigimiz scriptdir.string alert = "<script language=JavaScript>alert(`ASP.NET Messagebox`)</script>";Page.RegisterStartupScript("x", alert);
11 Haz 2008 ASP.NET ile Mail Gönderme Kategori: Yazılım Etiketler: ASP.NETASP.NET 2.0 23 Yorum public void MailGonder (string GonderenAdSoyad, string GonderenEmail, string AliciEmail, string AliciAdSoyad, string konu, bool HtmlFormat, string MailIcerigi, string SmtpSunucu, string GonderimiYapacakEmail, string GonderimiYapacakEmailSifresi){ System.Net.Mail.MailAddress gonderen = new System.Net.Mail.MailAddress (GonderenEmail, GonderenAdSoyad); System.Net.Mail.MailAddress alan = new System.Net.Mail.MailAddress (AliciEmail, AliciAdSoyad); System.Net.Mail.MailMessage eposta = new System.Net.Mail.MailMessage (gonderen, alan); eposta.IsBodyHtml = true; eposta.Subject = konu; eposta.Body = MailIcerigi; System.Net.NetworkCredential auth = new System.Net.NetworkCredential (GonderimiYapacakEmail, GonderimiYapacakEmailSifresi); System.Net.Mail.SmtpClient SMTP = new System.Net.Mail.SmtpClient(); SMTP.Host = SmtpSunucu; SMTP.UseDefaultCredentials = false; SMTP.Credentials = auth; SMTP.DeliveryMethod = System.Net.Mail.SmtpDeliveryMethod.Network; try { SMTP.Send(eposta); Response.Write("Mail Gönderildi !"); } catch (Exception ex) { Response.Write("Mail Gönderilemedi, Sebebi: " + ex.Message); }}
11 Haz 2008 Yazgelistir.com Editörler Toplantısı Kategori: Benden Etiketler: Microsoft 3 Yorum yazgelistir.com editörlerinin kaynasması ve site de neyin nasıl daha iyi olacagını belirlemek için microsoft'un marmara kampüsün de toplandık. Katılım azdı ama benim açımdan çok keyifliydi. Sonuç olarak yazgelistir.com'da bundan sonrası için bizleri güzel yenilikler bekliyor. Bu yenilikler süpriz olarak kalsın :) Toplantı sonunda Mehmet Emre'nin bizler için hazırlamıs oldugu t-shirtleri aldık. Bu da geceniz güzel yanlarından biriydi. Tabi bu güzelligi yasayamayanlar da oldu aramızda ve Daron'a uygun bir t-shirt bulamadık ne yazık ki :)
02 Haz 2008 yazilimgunlugu.com PC Magazine Dergisinde Kategori: Yazılım Etiketler: Yazılım Günlüğü 1 Yorum PC Magazine dergisi haziran 2008 sayısında Web life bölümünde yazilimgunlugu.com'a yer verdi.