Windows KULLANICI - Windows USER
Windows KULLANICI , basit kullanıcı arabirimleri oluşturmak için temel işlevsellik sağlayan Microsoft Windows işletim sisteminin bir bileşenidir . Bileşen, Windows'un tüm sürümlerinde mevcuttur ve pencere yönetimi , mesaj geçişi , girdi işleme ve standart kontroller için işlevsellik içerir .
İşlevsellik ve rol
Windows KULLANICI, Microsoft Windows için temel kullanıcı deneyiminin büyük bir bölümünü sağlar. Tarihsel olarak, şunlardan sorumluydu:
- Pencerelerin çizilmesine neden olmak ( ilkelleri çizmek için cihazdan bağımsız bir API olarak GDI kullanarak )
- Üst üste binen pencereleri diğerlerinin arkasına gizleme
- Pencere boyutu ve konumlandırma
- Tüm standart pencere yönetimi kontrollerini sağlama (kapatma kutuları veya başlık çubukları gibi )
- Standart Windows menü çubuğunun sağlanması
- Standart kontrollerin sağlanması ( düğme , Liste kutusu veya Düzenleme Kutusu gibi )
- İletişim kutusu yönetimi sağlama (kısa yol tuşları, sekme tuşu işleme)
- Fare ve klavyeden tüm kullanıcı girdilerini işleme
- Masaüstü arka plan resmi
- Tüm standart görsel öğelerin çizilmesi
- Dinamik Veri Değişimi kullanarak süreçler arası iletişim
- Fare işaretçisi imleci ekranı ve yönetimi
- Veri aktarımı ( Pano )
Yavaş yavaş, Windows büyüdükçe ve daha iyi çarpanlara ayrıldıkça, Windows KULLANICI bu işlevi sağlamak için diğer bileşenlerle işbirliği yaptı:
- Denetimler: Windows 95'ten başlayarak , yeni denetimler ayrı bir ortak denetim bileşenine yerleştirildi. Windows XP'den başlayarak , standart kontrollerin yeni uygulamaları da aynı bileşene taşındı.
- Windows Yönetim deneyimi: Windows Vista'dan başlayarak , çizim standart pencere yönetimi Windows KULLANICI'dan Masaüstü Pencere Yöneticisine taşındı .
- Standart Görseller: Windows XP'den başlayarak, görsel öğeler Tema bileşeni tarafından çizilir.
- Programlar arası iletişim: Windows 3.1'den başlayarak, Nesne Bağlama ve Gömme , programlar arası iletişim için önerilen model olarak Dinamik Veri Değişiminin yerini aldı.
- Menü çubuğu: Windows 7'den başlayarak, Şerit arabirimi, menü çubuğu ve bağlam menüleri için önerilen bir alternatiftir. UIRibbon bileşeni tarafından sağlanır.
Geliştirici deneyimi
Windows KULLANICI, Windows uygulamaları oluşturmak için kullanılan soyutlamaları uygular. Bunlar şunları içerir:
- HWND (Tutamdan Pencereye)
HWND, Windows geliştirici platformundaki temel görsel görüntüleme ve girdi birimidir. Tüm görsel öğelerin ya kendi HWND'leri vardır ya da daha büyük bir HWND'nin parçası olarak yaşar. Windows KULLANICI'daki birçok işlev, boyut, konum ve başlık gibi HWND'lerdeki özellikleri değiştirir. Her HWND ayrıca mesajların teslimi için bir iletişim kanalına (WNDPROC - Pencere Prosedürü) sahiptir.
Windows, masaüstü penceresi hiyerarşinin kökünde olacak şekilde bir ağaç olarak yönetilir. Alt pencereler genellikle (ancak her zaman değil) görsel olarak ebeveynlerinin içinde bulunur.
- MSG (Mesaj)
Uygulamalar ve işletim sistemi, mesajları kullanarak HWND'lerle iletişim kurar. Bir pencere mesajı, bir hedef HWND, bir mesaj kodu ve fare konumu gibi diğer ayrıntıların birleşimidir.
- Mesaj Döngüsü
Windows KULLANICI'ya yapılan çağrıları doğru şekilde birleştirerek, bir Windows uygulaması mesajları işler. Çekirdek Windows mesaj döngüsü (GetMessage, TranslateMessage ve DispatchMessage çağrıları dahil), herhangi bir Windows uygulamasının merkezinde yer alır.
Windows KULLANICI ile ilgili geliştirici işlevi, winuser.h C başlık dosyasında sağlanır.
uygulama
Windows'un 16 bit sürümlerinde, Windows KULLANICI, user.exe adlı bir dosya olarak uygulandı. Windows KULLANICI aslında her zaman dinamik bir bağlantı kitaplığı olduğundan , buradaki dosya uzantısı bir yanlış adlandırmaydı .
Windows'un 32-bit sürümlerinde, Windows USER'ın 32-bit sürümü user32.dll olarak adlandırılır ve System32 dizininde bulunur, 16-bit uygulamalarla uyumluluk ise user.exe'nin değiştirilmiş bir sürümünün de bulunmasıyla sağlanır.
Windows'un 64-bit sürümlerinde, Windows USER'ın 64-bit uygulaması user32.dll olarak adlandırılır ve System32 dizininde bulunur, değiştirilmiş bir 32-bit sürümü (user32.dll olarak da adlandırılır) SysWOW64 dizininde bulunur.