Domanda

Quali sono le differenze da queste 2 funzioni:?

int APIENTRY _tWinMain(HINSTANCE hInstance,
                     HINSTANCE hPrevInstance,
                     LPTSTR    lpCmdLine,
                     int       nCmdShow)

int WINAPI WinMain(HINSTANCE hInstance,
                     HINSTANCE hPrevInstance,
                     LPTSTR    lpCmdLine,
                     int       nCmdShow)
È stato utile?

Soluzione

_tWinMain è solo una scorciatoia #define in tchar.h alla versione appropriata di WinMain.

Se _UNICODE è definita, espande _tWinMain a wWinMain. In caso contrario, _tWinMain è lo stesso di WinMain.

L'aspetto macro rilevanti qualcosa di simile (c'è in realtà un sacco di altro codice intervallati):

#ifdef  _UNICODE
#define _tWinMain  wWinMain
#else
#define _tWinMain  WinMain
#endif

Altri suggerimenti

La differenza è la codifica dei parametri, che sono completamente comunque ridondanti. Basta buttare via i parametri e di utilizzare invece il seguente, dove si controlla la codifica:

hInstance è solo GetModuleHandle(0)

hPrevInstance non è valido per Win32 comunque

lpCmdLine è disponibile sia ANSI e Unicode, tramite rispettivamente GetCommandLineA() e GetCommandLineW(),

nCmdShow è il parametro wShowWindow della struttura STARTUPINFO. Ancora una volta, ANSI e Unicode varianti, accedere utilizzando GetStartupInfoA(STARTUPINFOA*) e GetStartupInfoW(STARTUPINFOW*).

E utilizzando le API Win32 di accedere a questi, probabilmente stai andando a salvare un paio di variabili globali, come quella in cui si stava salvando con attenzione il handle di istanza che si pensava fosse disponibile solo per WinMain.

questo link :

_tWinMain in realtà ci vuole il parametro hPrevInstance, ma che parametro isn''t utilizzato.

_tWinMain è solo un # define a WinMain (in tchar.h).

Non v'è alcuna differenza tra il due.

e

_tWinMain è definito per WinMain se UNICODE non è definita, e per wWinMain se lo è. il suo scopo è quello consentono di scrivere codice che costruirà sia sotto ansi e sotto unicode.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top