谁能帮帮我解决这个问题

#include "sysmets.h"
#include "headers.h"

LRESULT CALLBACK WinProc(HWND hwnd,UINT message,WPARAM wParam ,LPARAM lParam);


int WINAPI WinMain(  HINSTANCE hInstance,  HINSTANCE hPrevInstance,  PSTR szCmdLine,  int iCmdShow )
{
 static TCHAR szAppName[]=TEXT("sysmets1");
 HWND hwnd;
 MSG msg;
 WNDCLASS wc;
 wc.style=CS_HREDRAW |CS_VREDRAW;
 wc.lpfnWndProc=WinProc;
 wc.cbClsExtra=0;
 wc.cbWndExtra=0;
 wc.hInstance=hInstance;
 wc.hIcon=LoadIcon(NULL,IDI_APPLICATION);
 wc.hCursor=LoadCursor(NULL,IDC_ARROW);
 wc.hbrBackground=(HBRUSH)GetStockObject(WHITE_BRUSH);
 wc.lpszMenuName=szAppName;
 wc.lpszClassName=NULL;
 if(!RegisterClass(&wc))
 {
  MessageBox(NULL,TEXT("This program requires Windows NT!"),szAppName,MB_ICONERROR);
   return 0;
 }
 hwnd=CreateWindow(szAppName,TEXT("Get System Metrics No.1"),WS_OVERLAPPEDWINDOW,CW_USEDEFAULT,CW_USEDEFAULT,CW_USEDEFAULT,CW_USEDEFAULT,NULL,NULL,hInstance,NULL);
 ShowWindow(hwnd,iCmdShow);
 UpdateWindow(hwnd);
 while (GetMessage(&msg,NULL,0,0))
 {
  TranslateMessage(&msg);
  DispatchMessage(&msg);
 }
 return msg.wParam;
}

LRESULT CALLBACK WinProc(HWND hwnd,UINT message,WPARAM wParam ,LPARAM lParam)
{
 HDC hdc;
 static int cxChar,cxCaps,cyChar;
 int i;
 PAINTSTRUCT ps;
 TCHAR szBuffer[10];
 TEXTMETRIC tm;
 switch (message)
 {
 case WM_DESTROY:
  PostQuitMessage(0);
   break;
 case WM_CREATE:
  hdc = GetDC(hwnd);
  GetTextMetrics(hdc,&tm);
  cxChar=tm.tmAveCharWidth;
  cxCaps=(tm.tmPitchAndFamily & 1 ?3:2)*cxChar/2;
  cyChar=tm.tmHeight+tm.tmExternalLeading;
  ReleaseDC(hwnd,hdc);
   break;
 case WM_PAINT:
  hdc=BeginPaint(hwnd,&ps);
  for (i=0;i<NUMLINES;i++)
  {
   TextOut(hdc,0,cyChar*i,sysmetrics[i].szLabel,strlen(sysmetrics[i].szLabel));
   TextOut(hdc,22*cxCaps,cyChar*i,sysmetrics[i].szDesc,strlen(sysmetrics[i].szDesc));
   TextOut(hdc,22*cxCaps+40*cxCaps,cyChar*i,szBuffer,wsprintf(szBuffer,TEXT("%5d"),
    GetSystemMetrics(sysmetrics[i].Index)));
   SetTextAlign(hdc,TA_LEFT|TA_TOP);
  }
  EndPaint(hwnd,&ps);
   break;
 }
 return DefWindowProc(hwnd,message,wParam,lParam);
}

 

 

 error C2146:语法错误 : 缺少“;”(在标识符“LRESULT”的前面)
 error C2143: 语法错误 : 缺少“;”(在“__stdcall”的前面)
 error C4430: 缺少类型说明符 - 假定为 int。注意: C++ 不支持默认 int
 error C2377: “LRESULT”: 重定义;typedef 不能由任何其他符号重载
1>        c:/program files/microsoft sdks/windows/v6.0a/include/windef.h(185) : 参见“LRESULT”的声明
 error C4430: 缺少类型说明符 - 假定为 int。注意: C++ 不支持默认 int
:error C2440: “=”: 无法从“int (__stdcall *)(HWND,UINT,WPARAM,LPARAM)”转换为“WNDPROC”
1>        该转换要求 reinterpret_cast、C 样式转换或函数类型转换
error C2143: 语法错误 : 缺少“;”(在“__stdcall”的前面)
error C4430: 缺少类型说明符 - 假定为 int。注意: C++ 不支持默认 int
error C2086: “int LRESULT”: 重定义
参见“LRESULT”的声明
error C4430: 缺少类型说明符 - 假定为 int。注意: C++ 不支持默认 int

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值