Yazarlar Sözlük Makaleler Yardım Masası Gözlük Forum İstatistik

Tüm Başlıklar XML

1.  windows ortamında çalışan her programın içinde olduğu mesaj kuyruk yapısıdır. multitasking özelliğinin desteklenebilmesi için mesaj kuyruğu sistemi oluşturulmuş.

Bu sisteme göre, çalıştırılan her uygulama (ara birimi olsun veya olmasın) kendini sisteme kayıt ediyor (register) ve bundan sonra kullanıcının klavye, mouse, vs. giriş cihazlarından yaptığı her işlem ilgili uygulamaya mesaj olarak gönderiliyor. Tabi bu mesaj gönderilirken bu kuyruğa atılıyor. Yani klavyede bastığımız her tuş ilk önce işletim sistemine ulaşıyor, arkasından sistem bunu bir mesaja dönüştürüp aktif uygulamaya gönderiyor.

Kullanıcının mouse ile tıklayarak bir pencere arkasında kalan ve aktif olmayan pencereyi aktifleştirmesinin örnekleyelim.
1. kullanıcı mouse ile aktif olmayan pencereye tıklar
2. Sistem mouse tıklamasını algılar ve koordinatları alır.
3. koordinat alındıktan sonra sistemde çalışan uygulama pencerelerinde bu tıklanan noktanın hangisinin içinde olduğu bulunur. (uygulamanın kendini sisteme register etmesi bu nedenle gereklidir)
4. sistem bulunan pencere için "kullanıcı şu şu koordinatlarına tıkladı" anlamında bir mesaj oluşturur ve kuyruğa ekler.
5. mesajlar sırayla işlenir ve sıra bizim komutumuza geldiğinde pencereye gönderilir. bundan sonrası programın çalışmasına göre değişecektir. Pencere kendini aktif hale getirecek ve kullanıcı da verdiği komutun yanıtını  almış olacaktır.

klavye ile yazı yazarken de aktif pencereye bastığımız tuşlar mesaj olarak sistem tarafından gönderilir. eğer arka planda çalışan çok fazla uygulamanız varsa siz tuşa basana kadar araya başka mesajlar girebileceğinden, yazdığınız yazının ekranda geç çıkması gibi bir durumla karşılaşabilirsiniz. bunu nedeni de mesaj kuyruğunun çok dolması ve sistemin hepsini işleyebilmekte gecikmesidir.
bateristt
01 Haziran 2005 15:20 ~ 13 Ekim 2005 14:54
2.  Bu yapı sayesinde Windows'un yaptığı işi taklit ederek başka programların bazı işlemler yapmasını sağlayabiliriz. Mesela çalışan bir uygulamanın WindowHandle'ını aldıktan sonra API'ler yardımıyla bu uygulamaya WM_QUIT mesajını gönderdiğimizde uygulama kapanacaktır.

Windows 98'de bir güvenlik açığı vardı. kullanıcıların dial-up bağlantı şifrelerini alınabiliyordu. KUllanıcı dial-up şifresini kaydetmişse, kendisi ortalarda yokken dial-up bağlantı penceresini açıyoruz, kendi yazdığımız program ile dial-up penceresi üzerindeki şifre bulunan TextBoxa PasswordChar propertysinin null yapması için bir mesaj gönderiyoruz, bu işlemden sonra yıldız karakteri arkasında saklanan şifre açığa çıkıyor.
bateristt
01 Haziran 2005 16:01
3.  C# ile gelistirdiginiz uygulamaniza gelen mesajlari filtrelemek istiyorsaniz bu isi yapacaginiz class IMessageFilter interface'ini implement etmeli ve bu class uygulamaya mesaj filtreleyici olarak eklenmelidir.

Örnek kod için bkz: IMessageFilter
fizikci
01 Haziran 2005 23:26
Bu konuda bildiklerinizi bizlerle paylaşabilirsiniz
Tabi bunun için yazarsanız giriş yapmalı, yazar değilseniz yazar olmalısınız.


Bu başlığa bkz veren girişlerin başlıkları nedir?

Bu başlığa bkz veren girişler başka hangi başlıklara bkz verdiler?
© 2005, Bilişim Kulübü. (1156 ms)
Ne yapabilirsin: SubtitleClick ile İngilizceni Geliştir, Çınar Framework ile kod yaz, Eglencelik.org'ta biraz eğlen