64,637
社区成员
发帖
与我相关
我的任务
分享
#ifndef UNICODE
#define UNICODE
#endif
#include<Windows.h>
LRESULT CALLBACK WindowProc(HWND hwnd,UINT uMsg,WPARAM wParam,LPARAM lParam);
int WINAPI wWinMain(HINSTANCE hInstance,HINSTANCE,PWSTR pCmdLine,int nCmdShow)
{
const wchar_t CLASS_NAME[]=L"Sample Window Class";
WNDCLASS wc={};
wc.lpfnWndProc=WindowProc;
wc.hInstance=hInstance;
wc.lpszClassName=CLASS_NAME;
RegisterClass(&wc);
HWND hwnd=CreateWindowEx(
0,
CLASS_NAME,
L"Test",
WS_OVERLAPPEDWINDOW,
CW_USEDEFAULT,CW_USEDEFAULT,CW_USEDEFAULT,CW_USEDEFAULT,
NULL,
NULL,
hInstance,
NULL
);
if(hwnd==NULL)
{
return 0;
}
ShowWindow(hwnd,nCmdShow);
MSG msg={ };
while(GetMessage(&msg,NULL,0,0))
{
TranslateMessage(&msg);
DispatchMessage(&msg);
}
return 0;
}
LRESULT CALLBACK WindowProc(HWND hwnd,UINT uMsg,WPARAM wParam,LPARAM lParam)
{
switch(uMsg)
{
case WM_LBUTTONDOWN:
MessageBox(hwnd,L"WM_LBUTTONDOWN",L"1",MB_OK);
break;
case WM_RBUTTONDOWN:
MessageBox(hwnd,L"WM_RBUTTON",L"2",MB_OK);
break;
case WM_MOUSEMOVE:
MessageBox(hwnd,L"WM_MOUSEMOVE",L"3",MB_OK);
break;
case WM_PAINT:
{
PAINTSTRUCT ps;
HDC hdc=BeginPaint(hwnd,&ps);
FillRect(hdc,&ps.rcPaint,(HBRUSH)(COLOR_WINDOW));
EndPaint(hwnd,&ps);
}
return 0;
}
return DefWindowProc(hwnd,uMsg,wParam,lParam);
}
就这么一个简单的程序为什么还要什么dll?这不是调用操作系统api的吗?