PDA

View Full Version : WinMain تابعی با آرگامونهای ناآشنا؟!



deopen
جمعه 08 آذر 1387, 17:44 عصر
این سوال ابتدا در جایی دیگر مطرح شده بود, بنظرم رسید که در این بخش به بحث در موردش بپردازیم بهتره.


WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance,
LPSTR lpCmdLine, int nCmdShow)

نمیدونم چرا قبل از آرگامونها دقیقا اسم همون آرگامون رو مینویسن!! مثلا HINSTANCE hInstance و چجوری آرگامونهاشون هم اسم مستعارشون تو تابعا!! مثلا HINSTANCE hInstance , جایی مطالعه کردم که اینا استاندارهای مقدار آرگامونن , ولی من نمیتونم از تابعی که اطلاعات کافی ازش ندارم استفاده کنم ! و از همه مهمتر اینکه من فقط با main() کار کردم که نیازی به آرگامون نداره و نمیدونم چرا باید برنامه رو به این طریق بنویسم!!

اگر توضیحی راجع به عملکرد توابع main و توابع مانند آن بدید , متشکر میشم.

amir_civil
جمعه 08 آذر 1387, 19:54 عصر
سلام

نمیدونم چرا قبل از آرگامونها دقیقا اسم همون آرگامون رو مینویسن!! مثلا
همینجوری

و از همه مهمتر اینکه من فقط با main() کار کردم که نیازی به آرگامون نداره و نمیدونم چرا باید برنامه رو به این طریق بنویسم!!
لازم نیست شما به اونها مقدار بدید
این تابع برای وقتی هست که شما بخاهید مثلا یه فرم درست کنید ودیگه احتیاجی به صفحه مشکی داس نداشته باشید

Nima_NF
جمعه 08 آذر 1387, 22:20 عصر
برای مباحث اولیه win32 به قدر کافی در این 2 تاپیک زیر توضیح داده شده است:
http://barnamenevis.org/forum/showthread.php?t=72147

http://barnamenevis.org/forum/showthread.php?t=119231


از WinMain وقتی استفاده می کنیم که می خواهیم برنامه نویسی غیر کنسولی win32 انجام دهید، اگر شما می خواهید برنامه کنسولی بنویسید که در آن از API ها نیز استفاده کنید، می توانید از همان main معمولی استفاده کنید و فقط کافیست هدر فایل مورد نظر را اضافه کنید به همراه فایل .Lib آن.

WinMain به همین شکل تعریف شده است و باید از آن پیروی کنید. و همان طور هم که amir_civil گفتند نیاز نیست به آن ها مقدار دهید. بلکه خودشان در هنگام اجرای برنامه مقداردهی خواهند شد و هر جا که نیاز داشته باشید می توانید از اطلاعات آن ها استفاده کنید.
پس اگر می خواهید با آن ها آشنا شوید نیاز هست که کتاب مطالعه کنید یا از مقالات مختلف اینترنت استفاده کنید.

deopen
شنبه 09 آذر 1387, 17:22 عصر
مرسی متوجه شدم.