Giriş

Windows API (Application Programming Interface) 32 ve 64 bit Windows işletim sistemleri için özellikle C ve C++ programlama dillerinde kullanılan uygulama geliştirme arayüzüdür. Windows API, geliştirilen uygulamaların işletim sistemi ile iletişimini sağlar. Farklı bir ifade ile, geliştirilen uygulamalar ile Windows API kullanıldığında, Windows işletim sistemi içinde .dll dosyalarda yerleşik olarak bulunan fonksiyon, veri ve yapıların uygulama içinde kullanılmasını sağlar.

Sistem fonksiyonları olarak adlandırılan Windows API fonksiyonları Windows işletim sistemi ile birlikte yüklenir ve Windows sistem klasörleri altındaki .dll uzantılı dosyalarda yer alırlar. Geliştirilecek uygulamaların başına eklenen <windows.h> başlık dosyası ile birlikte uygulamalara dahil edilerek kullanılırlar.

Windows API ile kullanılabilecek fonsiyonlar temel olarak 5 gruba ayrılır:

  • Temel Hizmetler
  • 32 ve 64 bit Windows işletim sisteminde Kernel32.dll ve KernelBase.dll dosyalarında yer alan bu fonksiyonlar dosya sistemleri ve aygıtlar gibi Windows işletim sisteminin temel kaynaklarına erişimi sağlar. Bu dosyalar, bilgisayarın sistem dizini altında bulunur. Bu dizin, C sürücüsüne kurulu olan 64 bit Windows işletim sistemlerinde C:\Windows\System32 olarak oluşturulmuştur.

  • Gelişmiş Hizmetler
  • Kernel dışındaki fonksiyonlara erişim sağlar. Windows kayıt defteri, sistemi kapatma ve yeniden başlatma, Windows hizmetlerini başlatma, durdurma ve oluşturma, kullanıcı hesaplarını yönetme gibi işlemleri içerir. Bu fonksiyonlar, 32-bit Windows işletim sisteminde advapi32.dll ve advapires32.dll dosyalarında yer alır.

  • Grafik Hizmetleri
  • 32 bit Windows işletim sisteminde gdi32.dll dosyasında yer alan bu fonksiyonlar grafik çizim işlemlerini gerçekleştirir.

  • Kullanıcı Hizmetleri

    32 bit Windows işletim sisteminde user32.dll dosyasında yer alan bu fonksiyonlar ekran, temel kontrol elemanları, fare ve klavye ile ilgili işlemleri gerçekleştirir.

    • Genel Diyalog Kutusu Kütüphanesi
    • 32 bit Windows işletim sisteminde comdlg32.dll dosyasında yer alan bu fonksiyonlar dosya açma ve kapama, renk seçimi ve font seçimi gibi işlemler için standart diyalog kutusu hizmeti sunar.

    • Genel Kontrol Kütüphanesi
    • 32 bit Windows işletim sisteminde comctl32.dll dosyasında yer alan bu fonksiyonlar, durum çubukları, ilerleme çubukları, araç çubukları ve sekmeler gibi işletim sistemi tarafından sağlanan bazı gelişmiş kontrollere erişim sağlar.

    • Windows Shell
    • 32 bit Windows işletim sisteminde shell32.dll dosyasında yer alan bu fonksiyonlar, Windows Shell ortamına erişim sağlar.

  • Ağ Hizmetleri
  • İşletim sistemindeki ağ ile ilgili işlemleri gerçekleştiren bu bileşen 32 bit Windows işletim sisteminde netapi32.dll dosyasında yer alır.

Windows API dosyalarının temelini kernel32.dll, user32.dll ve gdi32.dll dosyaları oluşturur.

Windows API kullanarak siyah ekranlı DOS ortamında geliştirdiğimiz uygulamalar yerine Windows ortamına uygun grafik özelliklerine sahip uygulamalar geliştirebiliriz.

Farklı bir ifade ile, C programlama ile yaptığımız programları Windows işletim sisteminin pencerelerden oluşan ortamına uyarlamak ve entegre etmek için Windows API kullanırız.

Burada, C Programlama Dilinde Windows API ile temel ve gelişmiş programlama konularını ele almaya çalışacağız.