آموزش برنامه نویسی ویندوز ( Win32 ) ، درس اول
درس اول : اصول ویندوز
آشنایی با ویندوز
بررسی اجمالی :
مایکروسافت ویندوز یک سیستم عامل است که به اشخاص کمک می کند تا بتوانند با یک کامپیوتر شخصی به تعامل بپردازند . برنامه نویسانی که می خواهند برای این سیستم عامل برنامه بنویسند ، برنامه های خود را بر مبنای کتابخانه ای می نویسند که Win32 نامیده می شود .

Win32 کتابخانه ای است متشکل از انواع داده ای، ثوابت، توابع و کلاس هایی ( اساسا ساختار هایی ) که برای ساخت برنامه های تحت ویندوز مورد استفاده قرار می گیرند .

برای ایجاد یک برنامه ی ابتدایی ویندوزی نیاز به کامپایلری برای سیستم عامل ویندوز ( اصطلاحا یک کامپایلر 32 بیتی ) دارید . اگر چه شما می توانید Win32 را در زبان های برنامه نویسی مختلفی ( از جمله بورلند دلفی ) به کار ببرید، اما در اینجا ما به آموزش Win32 فقط با یک زبان برنامه نویسی و همین طور یک کامپایلر خواهیم پرداخت . در اصل کتابخانه ی Win32 به زبان C نوشته شده است که زبان اصلی سیستم عامل ویندوز محسوب می شود .
تمام برنامه هایی که در اینجا آموزش داده خواهند شد، به زبان ++C نوشته شده اند . البته در این برنامه های تفاوت چندانی بین C و ++C مشاهده نخواهید کرد . اگر چه اکثر ساختارهای Win32 آبجکت های زبان C هستند، اما ما آنها را همراه با کتابخانه های ++C به کار خواهیم برد و با این کار از مزایای برنامه نویسی شئ گرا استفاده خواهیم کرد .
Win32 Windows

ایجاد یک برنامه ی Win32 :
تمام برنامه های ویندوزی در درجه اول مشابه به نظر می رسند و نیز رفتار های مشابه دارند، اما همانند برنامه های ++C تفاوت های کوچکی در ساخت برنامه ها تحت کامپایلر های مختلف وجود دارد که بسته به نوع کامپایلر خود ملزم به رعایت آنها هستید .
ما برای برنامه هایی که در اینجا آموزش خواهیم داد از کامپایلر Microsoft Visual C++ 2008 استفاده خواهیم کرد . همانطور که دربالا اشاره شد می توانید این برنامه ها را با کمی تغییردر کامپایلر های دیگر نیز اجرا کنید .
کد یک برنامه ی ویندوزی win32 شامل دو مورد اساسی است :
1) فایل سرآیند ( windows.h" ( Header File" : این فایل سرآیند اکثر تعاریف، انواع و توابع مربوط به کتابخانه Win32 را شامل می شود . کد زیر این فایل سرآیند را به برنامه ما اضافه خواهد کرد :
#include <windows.h>
2) تابع WinMain : برای برنامه های ویندوزی این تابع در واقع معادل تابع main در برنامه های استاندارد ++C می باشد . این تابع نقطه شروع یک برنامه ویندوزی می باشد . همه چیز از اینجا شروع خواهد شد !
تعریف این تابع به شکل زیر انجام می شود :
INT WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance,
                               LPSTR lpCmdLine, int nCmdShow)
{
      return 0;
}
همانطور که مشاهده می کنید این تابع چهار آرگومان می گیرد که در هنگام اجرای برنامه توسط سیستم عامل به تابع ارسال می شوند . در درس های بعدی در مورد آنها به تفصیل صحبت خواهیم کرد . نوع برگشتی تابع INT می باشد که از انواع معرفی شده در Win32 بوده و معادل نوع int در ++C می باشد . عبارت WINAPI بیانگر نوعی فراخوانی قراردادی تابع می باشد، در این مورد باید بدانید که وجود این عبارت در تعریف تابع ضروری است .
آموزش عملی : معرفی برنامه نویسی ویندوز
استفاده از Microsoft Visual C++ 2008 :
برای ساختن یک برنامه ی جدید Win32 با استفاده از Microsoft Visual C++ 2008 باید از جعبه محاوره New Project گزینه Win32 Project را انتخاب کنید . Microsoft Visual C++ 2008 در هنگام ایجاد برنامه های Win32 برای کمک به شما و همچنین سرعت بخشیدن به کار به طور اتوماتیک کدهایی را که یک برنامه ویندوزی ابتدایی برای اجرا لازم دارد، به پروژه شما اضافه می کند . این کدها شامل کد پنجره اصلی به همراه منوی اصلی، یک جعبه محاوره About و همچنین توابع پردازش پیغام مربوطه می باشد .
به علت اینکه ما در حال آموزش Win32 هستیم راه سخت را در پیش خواهیم گرفت، ایجاد یک برنامه از صفر !

1) مایکروسافت ویژوال استودیو را اجرا کنید .
2) از منوی اصلی گزینه ی ...File -> New -> Project را کلیک کنید .
3) مطابق شکل زیر از جعبه محاوره ی New Project گزینه ی Win32 Project را کلیک کنید :
Win32 Programming
4) در قسمت Location مسیری که می خواهید پروژه در آنجا ذخیره شود را انتخاب نمایید .
5) در قسمت Name نام مورد نظر خود را برای پروژه وارد کرده و دکمه ی OK را کلیک کنید .
6) جعبه محاوره ی دیگری ظاهر خواهد شد . گزینه Application Settings را کلیک کرده و گزینه های آنرا مطابق شکل تنظیم کرده و دکمه ی Finish را کلیک کنید .
Win32 Programming
7) برای شروع نیاز به فایلی برای نوشتن کد برنامه دارید . از منوی اصلی گزینه ی ...Project -> Add New Item را کلیک کنید . دقت کنید که در پنجره Solution Explorer پروژه مورد نظر در حالت انتخاب باشد . 
8) مطابق شکل از جعبه محاوره Add New Item گزینه ی (C++ File (.cpp را کلیک کنید . در قسمت Name عبارت Main را وارد کنید و کلید OK را کلیک کنید .
Win32 Programming
9) کد زیر را داخل فایل Main وارد کرده و برنامه را اجرا کنید .
//---------------------------------------------------------------------------
#include <windows.h>

//---------------------------------------------------------------------------
INT WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance,
                               LPSTR lpCmdLine, int nCmdShow)
{
      MessageBoxA(NULL, "Hello world!", "Note", MB_OK);
      return 0;
}
//---------------------------------------------------------------------------
بدنه ی این تابع به جز دستور ;return 0 یک دستور دیگر هم دارد که باعث نمایش یک کادر پیغام می شود .
تبریک می گوییم ! شما اولین برنامه ویندوزی خود را ایجاد کردید .