This article is available in English too, check it out here.
تلقيت أحد الأسئلة عن مدخلات دالة WinMain() حيث أن المدخل lpCmdLine ترميزه ANSI، فكيف إذا كانت المدخلات لبرنامجك Unicode، كيف تحصل عليها؟
ببساطة، يمكنك استخدام دالة GetCommandLine() والتي ترجع النص المستخدم في فتح البرنامج أي الـ Command Line حسب ترميز كودك. وهذه الدالة لها التعريف التالي:
LPTSTR GetCommandLine(VOID);
هذا يذكرنا كثيرا بدالة main()، والتي ترميزها ANSI أيضا. والحل هو أن تقوم بتعريف هذه الدالة بما يتواءم مع ترميز برنامجك. لاحظ الأكواد التالية:
int main(int argc, char** argv) // ANSI int wmain(int argc, wchar** argv) // Unicode int _tmain(int argc, TCHAR** argv) // Unicode if _UNICODE is defined