Win32 api ile program yazmak o her örnekte gördüğünüz upuzun giriş fonksiyonunu yazmanıza gerek yok. Bunun yerine main fonksiyonunun içinde, programın örneğini alabilirsiniz. Bunu yapmak için fonksiyonunu kullanmalısınız. Argüman olarak NULL gönderirseniz şuanda kullandığınız programı döndürür.
Pencere yaratmamızı sağlaması için bir yapısına ihtiyacımız var. Bunu yaratıp içini doldurmalıyız. Eğer her detayla uğraşmak istemezseniz minimal olarak şunları doldurabilirsiniz: .hInstance, .lpfnWndProc, .lpszClassName. Fakat burada önemli bir nokta var. Döngünün düzgün sağlanması için lpfnWndPoc'a vereceğimiz bir oluşturmanız lazım. Ardından bu sınıfı fonksiyonu ile kayıt ettirmemiz gerekiyor.
Artık pencere yaratma aşamasına geçebiliriz. fonksiyonunu kullarak pencereyi yaratıp ondan sorumlu adresi alıyoruz. Bu adres OpenGL, DirectX gibi arayüzler ile uğraşırken çok gerekli olacak.
Ha unutmadan bir de şundan bahsetmek gerek, program döngüsünde pencereyi güncellemekten sorumlu bir oluşturmamız lazım.
Klavye girdisi almak isterseniz fonksiyonu oldukça işe yarar bir fonksiyon. Ama daha detaylı olarak halletmek isterseniz bu input işlerini veya daha farklı döngüsel işleri, bunun için callback fonksiyonunda gelen mesaj türlerine göre ayarlamazın gerekiyor.
Eğer bunların hepsini hallettiyseniz gerisi aslında çok kolay. Bize karmaşıkmış gelen şeyler aslında sadece bizim gözümüzde büyütmemizden ibaret. Bir kez başlayınca anlıyorsunuz. Win32 ile daha fazla işiniz kalmadı. Sıra grafikler arayüzlerinde. Kolay gelsin.
int __clrcall WinMain(
[in] HINSTANCE hInstance,
[in, optional] HINSTANCE hPrevInstance,
[in] LPSTR lpCmdLine,
[in] int nShowCmd
);