/* 本程序測試自定義的WinMainCRTStartup函數 */ #define STRICT #define WIN32_LEAN_AND_MEAN #include <windows.h> #include <tchar.h> #include <assert.h> //PIMAGE_DOS_HEADER void CenterText(HDC hDC,int x,int y,LPCTSTR szFace,LPCTSTR szMessage,int point) { HFONT hFont=CreateFont(- point * GetDeviceCaps(hDC,LOGPIXELSY)/72, 0, 0, 0, FW_BOLD, TRUE, FALSE, FALSE, ANSI_CHARSET, OUT_TT_PRECIS, CLIP_DEFAULT_PRECIS, PROOF_QUALITY, VARIABLE_PITCH, szFace ); assert(hFont); HGDIOBJ hOld=SelectObject(hDC,hFont); SetTextAlign(hDC,TA_CENTER | TA_BASELINE); SetBkMode(hDC,TRANSPARENT); SetTextColor(hDC,RGB(0,0,0xFF)); TextOut(hDC,x,y,szMessage,_tcslen(szMessage)); SelectObject(hDC,hOld); DeleteObject(hOld); } const TCHAR szMessage[]=_T("Hello world"); const TCHAR szFace[]=_T("Times New Roman"); #pragma comment(linker,"-merge:rdata=.text") //#pragma comment(linker,"-align:512") extern "C" void WinMainCRTStartup() { HDC hDC=GetDC(NULL); assert(hDC); CenterText(hDC,GetSystemMetrics(SM_CXSCREEN)/2,GetSystemMetrics(SM_CYSCREEN)/2,szFace,szMessage,72); ReleaseDC(NULL,hDC); ExitProcess(0); }