Toplam 1 adet sonuctan sayfa basi 1 ile 1 arasi kadar sonuc gösteriliyor
-
06.Kasım.2014, 13:22 #1Pro Üye
- Üyelik tarihi
- 06.Kasım.2014
- Mesajlar
- 405
C Sharp ile Tuş Okuma Nasıl Olur?
Bu derste tuş okumanızda olağan üstü kolaylık sağlıyacak bir kodu sizlerle paylaşacağım.
Öncelikle projemizde yeni bir sınıf oluşturalım ve şu kodları ekelyelim:
Kod:
using System;
using System.Runtime.InteropServices;
using System.Threading;
namespace projeadi
{
public static class ReadKey
{
//gruplamalar
#region events
public static delegate void _GetKey(Keys key,int ascii,bool down);
public static event _GetKey GetKey;
#endregion
#region api
[DllImport("user32.dll")]
public static extern int GetAsyncKeyState(long vKey);
#endregion
#region variables
//bu değişken tuşların ascii değerlerini tutucak
public static bool[] keys = new down[255];
//bu da arka planda okunacak tuşları bulacak olan thread
internal static Thread _readmethods;
//iki kere yüklemeyi önlemek için
internal static bool load=false;
#endregion
#region methods
public static bool Load()
{
//eğer daha önceden yüklenmiş ise false dönücek
if(load)
return false;
load=true;
_readmethods = new Thread(readkeys);
_readmethods.Start();
return true;
}
internal static bool down(int ascii)
{
return (GetAsyncKeyState(ascii) == -32767 || GetAsyncKeyState(ascii) == -32768);
}
internal static void readkeys()
{
//sürekli okumalı
while(true)
{
//tuşlar 1 den başlar 255 de biter
for(int i = 1;i <= 255;i++)
{
#region down
//eğer tuşa basılıysa
if(down(i))
{
//eğer daha önceden basılmadıysa
if(!keys[i])
{
keys[i]=true;
//eğer event atanmışsa
if(GetKey!=null)
GetKey((Keys)i,i,keys[i]);
}
}
#endregion
#region up
//değilse
else
{
//daha önceden basıldıysa
if(keys[i])
{
keys[i]=false;
//eğer event atanmışsa
if(GetKey!=null)
GetKey((Keys)i,i,keys[i]);
}
}
#endregion
}
Thread.Sleep(1);//1 salise beklemeli fakat şunu belirtmem lazım
//burdaki komut 1 salise değil daha uzun bir süre beklememize neden oluyo
//ben kendim datetime kontrol yazarak 1 salise yi yıkalıyorum ama on bu dersimizde değil başka bir dersimizde anlatacağım
}
}
#endregion
}
}
Konu Bilgileri
Bu Konuya Gözatan Kullanıcılar
Şu anda 1 kullanıcı bu konuyu görüntülüyor. (0 kayıtlı ve 1 misafir)
Benzer Konular
-
PHP'DE IP Ban Nasıl Olur?
Konu Sahibi megatron Forum PHPCevap: 0Son Mesaj : 03.Ağustos.2015, 15:10 -
PrestaShop SEF - SEO Ayarları Nasıl Olur?
Konu Sahibi donjuanhose81 Forum PrestaShopCevap: 0Son Mesaj : 24.Şubat.2015, 22:55 -
PHP Array (Dize) Nasıl Olur?
Konu Sahibi megatron Forum PHPCevap: 0Son Mesaj : 19.Ocak.2015, 07:52 -
PHP Nuke Kurulumu Nasıl Olur?
Konu Sahibi megatron Forum PHPCevap: 0Son Mesaj : 16.Ocak.2015, 15:32 -
Vbulletin De Güvenlik Nasıl Olur?
Konu Sahibi WeBMasteR Forum vBulletinCevap: 0Son Mesaj : 24.Temmuz.2014, 11:37
Shopsocks5 - Service Socks5 Cheap...
11.Mayıs.2024, 15:00 in Güvenlik