EMRAH ÜSTÜN

internet güzel bir şeydir

C# ile sistem açılışına dosya eklemek

KötüFena değilİyi (1 oy,3 üzerinden ortalama:2,00)
Loading ... Loading ...

(bkz.: Unutmamak için not alınanlar.)

Bilgisayar açıldığında çalışmasını istediğimiz birşeyi regedit üzerinden şöyle ekleyebiliriz;

Microsoft.Win32.RegistryKey key;
key = Microsoft.Win32.Registry.LocalMachine.CreateSubKey ("SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run");
key.SetValue("ANAHTAR", "C:\\birsey.txt");
key.Close();

1,430 total views, 1 views today

C# link yakalayıcı

KötüFena değilİyi (oy yok)
Loading ... Loading ...

Bir web sayfasındaki tüm bağlantıları çıkaran bir uyguluma hazırladım, bulunsun.

indir

(hata denetimi eklemedim, fazla zorlamayın :mrgreen: )

(.NET Framework 4 ister, şuradan indirilebilir.)

Ayrıca url çıkaran regexim şöyle;

href=[\'"]?([^\'"]+)

ve ayrıca uygulamanın kodları 2 fonksiyondan ibaret, onlar da şu şekilde;

Devamını oku »

1,926 total views, no views today

C# ile dizinleri altdizinlerle tarayıp dosyaları elde edelim

KötüFena değilİyi (oy yok)
Loading ... Loading ...

Hani Winamp’a bir klasör ekleriz, o tüm altdizinlerle birlikte tüm mp3 dosyalarını listeye ekler, böyle birşeyi yapan hızlı bir yöntem var mıdır bulamadım, kendim şöyle bir fonksiyon hazırladım, alınız kullanınız.

Özellikle sürükle-bırak ile iyi gider bu fonksiyon. Taranacak dizinlerin olduğu bir String Array alır, geriye tüm dosyaların olduğu String Array döndürür. Sürükle-bırak ile şöyle kullandım ben;

private void Form1_DragDrop(object sender, DragEventArgs e)
{
String[] Dosyalar = (String[])e.Data.GetData(DataFormats.FileDrop);
String[] TümDosyalar = İçerikOku(Dosyalar);
foreach (String Dosya in TümDosyalar)
{
richTextBox1.AppendText(Dosya + "\n");
}
}

Devamını oku »

1,248 total views, no views today

C#’ta sürükle-bırak (drag-drop) işlemleri

KötüFena değilİyi (oy yok)
Loading ... Loading ...

Kullanıcının arayüze dosya sürükleyip bırakmasını sağlamak için;

  • Öncelikle sürükle-bırak işlemini alacak olan kontrol için AllowDrop özelliğini True yapmalıyız.
  • Daha sonra o kontrol için iki tane olay (event) eklemeliyiz.
      • DragEnter olayı: fare ile dosya tutulup kontrolün içine girdiği an,

    e.Effect = DragDropEffects.All;

      • DragDrop olayı: fare bırakıldığında, işlemleri burada yapacağız, Dosyalar String Array’i okunabilir.

    String[] Dosyalar = (String[])e.Data.GetData(DataFormats.FileDrop);

Haydi gençler, drapdrop yapalım. :P

2,911 total views, no views today

C# ile klayve kısayol (global hotkey) takibi

KötüFena değilİyi (1 oy,3 üzerinden ortalama:1,00)
Loading ... Loading ...

Bu işi yapan bir C# sınıfı buldum, şöyle paylaşayım;

globalKeyboardHook.cs

Kullanımı çok basit;

  • Projeye ekleyin
  • using Utilities; ekleyin
  • globalKeyboardHook gkh = new globalKeyboardHook(); nesneyi oluşturun
  • Takip edilecek tuşu ekleyin: gkh.HookedKeys.Add(Keys.Enter);
  • Tuşa basılma ve çekilme olaylarını bağlayın:
    • gkh.KeyDown += new KeyEventHandler(gkh_KeyDown);
    • gkh.KeyUp += new KeyEventHandler(gkh_KeyUp);
  • Olay fonksiyonu içinden e.KeyCode ile basılan tuşu okuyun.

1,801 total views, 1 views today

C# ile bir .exe’nin 1′den fazla açılmasını engellemek

KötüFena değilİyi (oy yok)
Loading ... Loading ...

Hazırladığımız projenin exe’sinden sadece 1 tane çalışmasını şöyle sağlayabiliriz;

Project1.exe’den bahsediyor olalım;

Program.cs’deki main’imizi şöyle düzenleyebiliriz;
Devamını oku »

3,671 total views, 2 views today

C# ile US Robotics modemi bilgisayar üzerinden yeniden başlatma (restart)

KötüFena değilİyi (oy yok)
Loading ... Loading ...

Bilgisayarım evde sürekli açıktır ve dışarıdan erişirim. Bazen TTNet’teki bazı problemlerden dolayı bağlantı kopuyor. Modemi kapatıp açmak gerekiyor. Evde olmadığım zaman otomatik olarak modeme restart atacak bir program yazdım. Hem bana hem size yarasın.

Ayrıca modem menüsünden falan uğraşmamak için de iyi bir yol, direk exe’yi çalıştır modemi yeniden başlatsın.

US Robotics modemin arayüzünü inceleyip hangi adrese ne POST etmemiz gerektiğini buldum.

Ve de şuradan aldığım HTTP POST fonksiyonunu biraz düzenledim.

Sonuç olarak modemi yeniden başlatan C# kodu şu şekildedir;

Devamını oku »

2,168 total views, no views today

C# ile Byte[] array ve String dönüşümleri

KötüFena değilİyi (2 oy,3 üzerinden ortalama:3,00)
Loading ... Loading ...

Soket işlemlerinde String komut gönderme ve alma vb… için şu iki fonksiyon kullanılabilir;

private byte[] StringToByte(string Komut)
{
System.Text.ASCIIEncoding encoding = new System.Text.ASCIIEncoding();
return encoding.GetBytes(Komut);
}

private String ByteToString(byte[] Veri)
{
System.Text.ASCIIEncoding enc = new System.Text.ASCIIEncoding();
return enc.GetString(Veri);
}

2,693 total views, no views today

C# ile Windows Form’ların oluşturulması, yenilenmesi

KötüFena değilİyi (oy yok)
Loading ... Loading ...

“Windows Form Application” açtığımızda formumuz otomatik olarak hazırlanıyor. Bu form üzerine  Toolbox’tan bir düğme, bir resim koyduğumuzda da otomatik olarak yerleştiriliyor.

Biz bu formu simge konumuna küçültüp geri getirdiğimizde veya önüne başka bir program gelip tekrar çekildiğinde, yani formumuz ekrandan bir an kaybolup geri geldiğinde, yine aynısını görüyoruz. Hiçbir sorun yok.

Ama arka planda şunlar dönüyor;

  • Windows o an kullanıcıya gösterilmeyen bir pencerenin bilgilerini RAM’de saklamıyor. Eğer öyle olsaydı RAM çok dolardı doğal olarak.
  • Arayüzü ağır olan bazı programların simge konumundan tam ekrana geçerken ne kadar beklediğimizi düşünelim.
  • Olay şu ki, Windows formun son halini hatırlamaz. Form kullanıcının önüne her gelişinde tekrar oluşturulur.
  • Yani, biz bir programı simge konumundan tam ekrana aldığımızda Windows, programdan arayüzünü tekrar çizmesini ister.

İşte Windows Form Application ile açılan form, bu forma koyduğumuz düğmeler bu tekrar çizme işlemini kendi yapıyor.

Devamını oku »

3,323 total views, 2 views today

C# ile en basit Multithreading yöntemi

KötüFena değilİyi (oy yok)
Loading ... Loading ...

Multithreading nedir: Bir kod akarken arka planda başka bir kod parçacığını çalıştırmaktır. Yani programa aynı anda birçok iş yaptırmaktır.

Örneğin: Program bir yandan 1 milyon tane sayıyı çarpsın, aynı anda bir dosya kopyalasın, bunları yaparken de kullanıcı beklemesin, program arayüzü kitlenmesin, bir ilerleme çubuğu durumu göstersin… gibi gibi. İşte bunlar Thread oluşturularak yapılıyor.

Visual çalışıyorsak, toolbox’taki BackGroundWorker ile bu işi yapabiliriz. Ama ben en basit yöntem diyorum ki, şöyledir;

using System.Threading ekleyelim

private void bişey()
{
ThreadStart ArkaİşBaşlatıcı=new ThreadStart(ArkaPlandaÇalışacakOlanFonksiyon);
Thread Arkaİş=new Thread(ArkaİşBaşlatıcı);
Arkaİş.Başlat();
}
private void ArkaPlandaÇalışacakOlanFonksiyon()
{
//işler burada
}

———————-

Alternatif olarak, işin bittiğini de event fırlatarak şöyle yakalayabiliriz;  (Event ile ilgili ayrıntılı bilgi şurada var.)

Devamını oku »

2,239 total views, 1 views today