用vc打造一个仅2.5k的win32GUI程序
将下面的代码保存为.c文件n9H:?5X.h//-------------------------start---------------------------------*[\3h0lk+t
#include <windows.h>
LRESULT CALLBACK WindowProcedure (HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam)LQOt!c7C9q
{
switch (message)
{,If ?(m2D.aG
case WM_DESTROY:-gh^ {4PqW
PostQuitMessage (0);
break;Nv4@!^Dth:Tc
default:
return DefWindowProc (hwnd, message, wParam, lParam);
}
return 0;POp B#`'N.r5VW
}
J'o&A4{5j!O#b1R
void WinEntry()
{
HWND hwnd;6OV[N K6t7W
MSG messages;,em0vz(`"|(N Z ~6k
WNDCLASSEX wincl;
STARTUPINFO spinfo;8f$ia1X7\
HINSTANCE hInst=GetModuleHandle(NULL);4]cFE H
wincl.hInstance = hInst;1E'iL(d+? A;S
wincl.lpszClassName = "minitest"; xo8hm6u"rF{
wincl.lpfnWndProc = WindowProcedure;I"bk)m-d
wincl.style = CS_DBLCLKS;ZbKL3LvP v ]
wincl.cbSize = sizeof (WNDCLASSEX); ]"@e'{GFA%a#T3y
wincl.hIcon = LoadIcon (NULL, IDI_APPLICATION);1Sh5t7\x*O,C
wincl.hIconSm = LoadIcon (NULL, IDI_APPLICATION);:r3G0S)A;\2^W
wincl.hCursor = LoadCursor (NULL, IDC_ARROW);(x^j\RO-U s7t
wincl.lpszMenuName = NULL;
wincl.cbClsExtra = 0; M [xu2rNV:u
wincl.cbWndExtra = 0; 1s$I1^3Qfp;^p]
wincl.hbrBackground = (HBRUSH)COLOR_BACKGROUND;
if(!RegisterClassEx(&wincl))8v&k*V;FYYe
goto exit;x"j]4]q-r'o,W ]
hwnd = CreateWindowEx(0,wincl.lpszClassName, "test window",WS_OVERLAPPEDWINDOW,CW_USEDEFAULT,CW_USEDEFAULT,544,375,HWND_DESKTOP,NULL,hInst,NULL);q)Q3Q6UT
if(!hwnd)
goto exit;
GetStartupInfo(&spinfo);:lH/L+S }3^
ShowWindow(hwnd,spinfo.wShowWindow);.b0u*uzT w(lT,@I9B
while (GetMessage (&messages, NULL, 0, 0))
{,d|B;E\F&col7{
TranslateMessage(&messages);
DispatchMessage(&messages);
}o(w5ED"^7D
exit:ExitProcess(0);7[ ^-I_1M"u"u5~Q1k
},L"w$DsX#_zB K~z
)C%o&G+g1D%PU
//-------------------------end---------------------------
用vc打开,“编译”-“构件”,vc会提示建立一个“default project workspace”,选择“是”。然后在“工程”-“设置”里选择“link”选项卡,将“output”中的“EntryPoint”设置为“WinEntry”,在界面下方的“project option”中找到“/subsystem:console”,改为“/subsystem:windows”,再增加一个参数“/align:4096”。最后选择“release”发布,编译器会警告:“LINK : warning LNK4108: /ALIGN specified without /DRIVER or /VXD; image may not run”,不用理会它。现在你就可以在“release”文件夹下找一个2560字节的win32 GUI程序了。/eN*d"|1~i6^~
该代码在windows 2000 sp3 + vc 6.0下编译通过。
页:
[1]