windows程序设计(第五版)笔记-001

来源:互联网 发布:理财大视野数据靠谱吗 编辑:程序博客网 时间:2024/06/06 02:10
#include <Windows.h>#include <tchar.h>#include <stdio.h>int CDECL MessageBoxPrint(TCHAR *szCaption, TCHAR * szFormat, ...)//CDECL stands for C Declaration.  //In CDECL, subroutine arguments are passed on the stack.{TCHAR szBuffer[1024];va_list pArgList;   // va_list is a pointer type in <stdarg.h>, which means variable list. // It can take variable argument from the target list using va_arg() // after initialize by va_start(), and after that, it should be terminate by va_end().// The va_start macro (defined in STDARG.H) is usually equivalent to// pArgList = (char*) & szFormat + sizeof(szFormat);va_start(pArgList, szFormat);// The last argument to wvsprintf points to the arguments// The function wvsprintf was abandoned.// And the substitute function is _vsntprintf_s or _vsnwprintf_s.//_vsntprintf(szBuffer, sizeof(szBuffer) / sizeof(TCHAR), szFormat, pArgList);//_vsntprintf(szBuffer, sizeof(szBuffer) - 1, szFormat, pArgList);//_vsntprintf(szBuffer, 1024, szFormat, pArgList);_vsntprintf_s(szBuffer, sizeof(szBuffer), 1024, szFormat, pArgList);// The va_end macro just zeroes out pArgList for no good reasonva_end(pArgList);return MessageBox(NULL, szBuffer, szCaption, 0);}int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, PSTR szCmdLine, int iCmdShow){int cxScreen, cyScreen;cxScreen = GetSystemMetrics(SM_CXSCREEN);cyScreen = GetSystemMetrics(SM_CYSCREEN);MessageBoxPrint(TEXT("ScrnSize"), TEXT("The screen is %i pixels wide by %i pixels high."), cxScreen, cyScreen);return 0;}

0 0
原创粉丝点击