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

VC++ ile Matris oluşturalım

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

.NET’te şöyle kolay bir şekilde herhangi “birşey” matrisi oluşturabiliriz. “birşey” diyorum çünkü VC++’da herşey nesne olduğu için, nesne matrisi oluşturmayı öğrendiğimizde istediğimiz şeyin matrisini oluşturabiliriz. (int matrisi, String matrisi, yada 100 tane imge bulunduran 10×10 luk imgeler matrisi, düğmeler matrisi, … gibi)

Kullanacağımız eleman dizi (Array) elemanı. Mantık olarak da dizi barındıran dizi oluşturduğumuzda matris oluşturmuş oluyoruz. Hatta dizi barındıran diziyi barındıran dizi oluşturursak 3 boyutlu matris olmuş olur mesela :mrgreen:

1 boyutlu String dizisi oluşturalım önce;
array <String^>^ Dizi=gcnew array<String^> (10);

String nesnesi barındıran Array nesnesi oluşturuyoruz böylece. Dizi[0]="abcdefg"; şeklinde de erişebiliyoruz.

Bu oluşturduğumuz diziyi başka bir dizi içinde 10 tane oluşturalım;

array <array <String^>^>^ Mat=gcnew array <array <String^>^>(10);
Şimdi de alt dizilerin içine 20şer tane yeni String dizisi dolduralım, 10*20 lik String matrisi elde etmiş olalım;
Devamını oku »

1,072 total views, 1 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 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

Access veritabanına SQL ile tarih sorguları yaptırmak

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

ADOX ve OLE DB ile .NET üzerinden Access veritabanına SQL sorguları uygulatabiliyoruz.

Bakalım tarih sorgularını nasıl yapabiliyormuşuz;

Devamını oku »

3,052 total views, no views today

C# uygulaması: Threat ve Timer ile sayaç

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

Karmaşık birkaç işi iç içe bulunduran bir kronometre örneği hazırladım;

  • Form1 üzerinden Thread ile Form2 oluşturuyoruz.
  • Form1′deki başlat düğmesi ile Form2′nin bir metoduna erişiyoruz.
  • Form2′nin başlat metodu Timer başlatıp 100 milisaniyede bir sayacı artırıyor.
  • Thread içinde olduğumuz için sayaç değerini güncelleme işini Invoke ile yapıyoruz.
  • Ve Form1′in durdur düğmesiyle Form2′deki Timer’ı durduruyoruz. (Tekrar başlatınca kaldığı yerden devam ediyor)

c# thread

Devamını oku »

1,969 total views, no views today