"APIENTRY tWinMain "и" WINAPI WinMain " разница
в чем отличие от этих 2 функций?:
int APIENTRY _tWinMain(HINSTANCE hInstance,
HINSTANCE hPrevInstance,
LPTSTR lpCmdLine,
int nCmdShow)
int WINAPI WinMain(HINSTANCE hInstance,
HINSTANCE hPrevInstance,
LPTSTR lpCmdLine,
int nCmdShow)
3 ответов
_tWinMain это просто #define ярлык в tchar.h до соответствующей версии WinMain.
если _UNICODE определено, то _tWinMain увеличивается до wWinMain. В противном случае, _tWinMain это то же самое, что WinMain.
соответствующий макрос выглядит примерно так (на самом деле много другого кода перемежается):
#ifdef _UNICODE
#define _tWinMain wWinMain
#else
#define _tWinMain WinMain
#endif
разница заключается в кодировании параметров, которые в любом случае являются полностью избыточными. Просто отбросьте параметры и вместо этого используйте следующее, Где вы управляете кодировкой:
hInstance Это просто GetModuleHandle(0)
hPrevInstance недопустимо в Win32 в любом случае
lpCmdLine доступен как в ANSI, так и в Unicode, через GetCommandLineA() и GetCommandLineW(), соответственно
nCmdShow - это
с этой ссылке:
_tWinMain фактически принимает параметр hPrevInstance, но это параметр"использовали t.
_tWinMain - это просто #define для WinMain (в TCHAR.ч.)
нет никакой разницы между два.
и
_tWinMain определяется как WinMain, если UNICODE не определен, и wWinMain, если это так. его цель - позвольте вам написать код, который будет строить как под ansi, так и под unicode.