鱼C论坛

 找回密码
 立即注册
查看: 3042|回复: 5

麻烦大佬看下WIN32写的 编译环境VS2017 程序哪里有问题

[复制链接]
发表于 2019-7-10 15:58:09 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
  1. #include <windows.h>
  2. #include"strsafe.h"
  3. #include"xiejiayi.h"

  4. LRESULT CALLBACK WndProc(HWND, UINT, WPARAM, LPARAM);

  5. int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, PSTR szCmdLine, int iCmdShow)
  6. {
  7.         static TCHAR szAppName[] = TEXT("MyWindows");
  8.         HWND hwnd;
  9.         MSG msg;
  10.         WNDCLASS wndclass;

  11.         wndclass.style = CS_HREDRAW | CS_VREDRAW;
  12.         wndclass.lpfnWndProc = WndProc;
  13.         wndclass.cbClsExtra = 0;
  14.         wndclass.cbWndExtra = 0;
  15.         wndclass.hInstance = hInstance;
  16.         wndclass.hIcon = LoadIcon(NULL, IDI_APPLICATION);
  17.         wndclass.hCursor = LoadCursor(NULL, IDC_ARROW);
  18.         wndclass.hbrBackground = (HBRUSH)GetStockObject(WHITE_BRUSH);
  19.         wndclass.lpszMenuName = NULL;
  20.         wndclass.lpszClassName = szAppName;

  21.         if (!RegisterClass(&wndclass))
  22.         {
  23.                 MessageBox(NULL, TEXT("这个程序需要在 Windows NT 才能执行!"), szAppName, MB_ICONERROR);
  24.                 return 0;
  25.         }

  26.         hwnd = CreateWindow(szAppName,
  27.                 TEXT("WIN32"),
  28.                 WS_OVERLAPPEDWINDOW | WS_VSCROLL,
  29.                 CW_USEDEFAULT,
  30.                 CW_USEDEFAULT,
  31.                 CW_USEDEFAULT,
  32.                 CW_USEDEFAULT,
  33.                 NULL,
  34.                 NULL,
  35.                 hInstance,
  36.                 NULL);

  37.         ShowWindow(hwnd, iCmdShow);
  38.         UpdateWindow(hwnd);

  39.         while (GetMessage(&msg, NULL, 0, 0))
  40.         {
  41.                 TranslateMessage(&msg);
  42.                 DispatchMessage(&msg);
  43.         }

  44.         return msg.wParam;
  45. }

  46. LRESULT CALLBACK WndProc(HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam)
  47. {
  48.         HDC hdc;
  49.         PAINTSTRUCT ps;
  50.         RECT rect;
  51.         static int cxClient,cyClient,cxChar,cyChar,cxClient1,cyClient1,cxCaps;
  52.         TCHAR szBuffer[128],szBuffer1[128],szBuffer2[128];
  53.         TEXTMETRIC tm;
  54.         int i;
  55.         size_t iTarget;
  56.         switch (message)
  57.         {
  58.         case WM_CREATE:
  59.                 hdc = GetDC(hwnd);

  60.                 GetTextMetrics(hdc, &tm);
  61.                 cxChar = tm.tmAveCharWidth;
  62.                 cxCaps = (tm.tmPitchAndFamily & 1 ? 3 : 2)*cxChar / 2;
  63.                 cyChar = tm.tmHeight + tm.tmExternalLeading;

  64.                 ReleaseDC(hwnd,hdc);
  65.         case WM_PAINT:
  66.                 hdc = BeginPaint(hwnd, &ps);
  67.                 for (i = 0; i < NUMLINES; i++)
  68.                 {
  69.                         StringCchLength(systemtrics[i].szLabel,1024, &iTarget);
  70.                         TextOut(hdc,0, i*cyChar,systemtrics[i].szLabel,iTarget);
  71.                         StringCchLength(systemtrics[i].szDesc, 1024, &iTarget);
  72.                         TextOut(hdc, 22*cxCaps,  i*cyChar, systemtrics[i].szDesc, iTarget);
  73.                         SetTextAlign(hdc, TA_RIGHT | TA_TOP);
  74.                         StringCchPrintf(szBuffer, 10, TEXT("%5d"), GetSystemMetrics(systemtrics[i].iIndex));
  75.                         StringCchLength(szBuffer, 10, &iTarget);
  76.                         TextOut(hdc, 22 * cxCaps + 40 * cxChar, cyChar*i, szBuffer, iTarget);
  77.                 }
  78.                
  79.                 EndPaint(hwnd, &ps);
  80.                 return 0;

  81.        
  82.         case WM_DESTROY:
  83.                 PostQuitMessage(0);
  84.                 return 0;
  85.         }

  86.         return DefWindowProc(hwnd, message, wParam, lParam);
  87. }[code]#define NUMLINES ((int)(sizeof systemtrics/sizeof systemtrics [0]))
  88. struct
  89. {
  90.         int iIndex;
  91.         TCHAR *szLabel;
  92.         TCHAR *szDesc;
  93. }
  94. systemtrics[] =
  95. {
  96.         SM_CXSCREEN,                                                                TEXT("SM_CXSCREEN"),
  97.                                                                                                 TEXT("Screen width in pixels"),
  98.         SM_CYSCREEN,                                                                TEXT("SM_CYSCREEN"),
  99.                                                                                                 TEXT("Screen height in pixels"),
  100.         SM_CXVSCROLL,                                                                TEXT("SM_CXVSCROLL"),
  101.                                                                                                 TEXT("Vertical scroll width"),
  102.         SM_CYHSCROLL,                                                                TEXT("SM_CYHSCROLL"),
  103.                                                                                                 TEXT("Horizontal scroll height"),
  104.         SM_CYCAPTION,                                                                TEXT("SM_CYCAPTION"),
  105.                                                                                                 TEXT("Caption bar height"),
  106.         SM_CXBORDER,                                                                TEXT("SM_CXBORDER"),
  107.                                                                                                 TEXT("Window border width"),
  108.         SM_CYBORDER,                                                                TEXT("SM_CYBORDER"),
  109.                                                                                                 TEXT("Window border height"),
  110.         SM_CXDLGFRAME,                                                                TEXT("SM_CXDLGFRAME"),
  111.                                                                                                 TEXT("Dialog window frame width"),
  112.         SM_CYDLGFRAME,                                                                TEXT("SM_CYDLGFRAME"),
  113.                                                                                                 TEXT("Dialog window frame height"),
  114.         SM_CXHTHUMB,                                                                TEXT("SM_CXHTHUMB"),
  115.                                                                                                 TEXT("Horizontal scroll thumb width"),
  116.         SM_CYVTHUMB,                                                                TEXT("SM_CYVTHUMB"),
  117.                                                                                                 TEXT("Vertical scroll thumb width"),
  118.         SM_CXICON,                                                                        TEXT("SM_CXICON"),
  119.                                                                                                 TEXT("Icon width"),
  120.         SM_CYICON,                                                                        TEXT("SM_CYICON"),
  121.                                                                                                 TEXT("Icon height"),
  122.         SM_CXCURSOR,                                                                TEXT("SM_CXCURSOR"),
  123.                                                                                                 TEXT("Cursor width"),
  124.         SM_CYCURSOR,                                                                TEXT("SM_CYCURSOR"),
  125.                                                                                                 TEXT("Cursor height"),
  126.         SM_CYMENU,                                                                        TEXT("SM_CYMENU"),
  127.                                                                                                 TEXT("Menu bar height"),
  128.         SM_CXFULLSCREEN,                                                        TEXT("SM_CXFULLSCREEN"),
  129.                                                                                                 TEXT("Full screen client area width"),
  130.         SM_CYFULLSCREEN,                                                        TEXT("SM_CYFULLSCREEN"),
  131.                                                                                                 TEXT("Full screen client area height"),
  132.         SM_CYKANJIWINDOW,                                                        TEXT("SM_CYKANJIWINDOW"),
  133.                                                                                                 TEXT("Kanji window height"),
  134.         SM_MOUSEPRESENT,                                                        TEXT("SM_MOUSEPRESENT"),
  135.                                                                                                 TEXT("Mouse present flag"),
  136.         SM_CYVSCROLL,                                                                TEXT("SM_CYVSCROLL"),
  137.                                                                                                 TEXT("Vertical scroll arrow height"),
  138.         SM_CXHSCROLL,                                                                TEXT("SM_CXHSCROLL"),
  139.                                                                                                 TEXT("Horizontal scroll arrow width"),
  140.         SM_DEBUG,                                                                        TEXT("SM_DEBUG"),
  141.                                                                                                 TEXT("Debug version flag"),
  142.         SM_SWAPBUTTON,                                                                TEXT("SM_SWAPBUTTON"),
  143.                                                                                                 TEXT("Mouse buttons swapped flag"),
  144.         SM_CXMIN,                                                                        TEXT("SM_CXMIN"),
  145.                                                                                                 TEXT("Minimum window width"),
  146.         SM_CYMIN,                                                                        TEXT("SM_CYMIN"),
  147.                                                                                                 TEXT("Minimum window height"),
  148.         SM_CXSIZE,                                                                        TEXT("SM_CXSIZE"),
  149.                                                                                                 TEXT("Min/Max/Close button width"),
  150.         SM_CYSIZE,                                                                        TEXT("SM_CYSIZE"),
  151.                                                                                                 TEXT("Min/Max/Close button height"),
  152.         SM_CXSIZEFRAME,                                                                TEXT("SM_CXMINTRACK"),
  153.                                                                                                 TEXT("Window sizing frame width"),
  154.         SM_CYSIZEFRAME,                                                                TEXT("SM_CYMINTRACK"),
  155.                                                                                                 TEXT("Window sizing frame height"),
  156.         SM_CXMINTRACK,                                                                TEXT("SM_CXMINTRACK"),
  157.                                                                                                 TEXT("Minimum window tracking width"),
  158.         SM_CYMINTRACK,                                                                TEXT("SM_CYMINTRACK"),
  159.                                                                                                 TEXT("Minimum window tracking height"),
  160.         SM_CXDOUBLECLK,                                                                TEXT("SM_CXDOUBLECLK"),
  161.                                                                                                 TEXT("Double click x tolerance"),
  162.         SM_CYDOUBLECLK,                                                                TEXT("SM_CYDOUBLECLK"),
  163.                                                                                                 TEXT("Double click y tolerance"),
  164.         SM_CXICONSPACING,                                                        TEXT("SM_CXICONSPACING"),
  165.                                                                                                 TEXT("Horizontal icon spacing"),
  166.         SM_CYICONSPACING,                                                        TEXT("SM_CYICONSPACING"),
  167.                                                                                                 TEXT("Vertical icon spacing"),
  168.         SM_MENUDROPALIGNMENT,                                                TEXT("SM_MENUDROPALIGNMENT"),
  169.                                                                                                 TEXT("Left or right menu drop"),
  170.         SM_PENWINDOWS,                                                                TEXT("SM_PENWINDOWS"),
  171.                                                                                                 TEXT("Pen extensions installed"),
  172.         SM_DBCSENABLED,                                                                TEXT("SM_DBCSENABLED"),
  173.                                                                                                 TEXT("Double-Byte Char Set enabled"),
  174.         SM_CMOUSEBUTTONS,                                                        TEXT("SM_CMOUSEBUTTONS"),
  175.                                                                                                 TEXT("Number of mouse buttons"),
  176.         SM_CXEDGE,                                                                        TEXT("SM_CXEDGE"),
  177.                                                                                                 TEXT("3-D border width"),
  178.         SM_CXEDGE,                                                                        TEXT("SM_CXEDGE"),
  179.                                                                                                 TEXT("3-D border height"),
  180.         SM_CXMINSPACING,                                                        TEXT("SM_CXMINSPACING"),
  181.                                                                                                 TEXT("Minimized window spacing width"),
  182.         SM_CYMINSPACING,                                                        TEXT("SM_CYMINSPACING"),
  183.                                                                                                 TEXT("Minimized window spacing height"),
  184.         SM_CXSMICON,                                                                TEXT("SM_CXSMICON"),
  185.                                                                                                 TEXT("Small icon width"),
  186.         SM_CYSMICON,                                                                TEXT("SM_CYSMICON"),
  187.                                                                                                 TEXT("Small icon height"),
  188.         SM_CYSMCAPTION,                                                                TEXT("SM_CYSMCAPTION"),
  189.                                                                                                 TEXT("Small caption height"),
  190.         SM_CXSMSIZE,                                                                TEXT("SM_CXSMSIZE"),
  191.                                                                                                 TEXT("Small caption button width"),
  192.         SM_CYSMSIZE,                                                                TEXT("SM_CYSMSIZE"),
  193.                                                                                                 TEXT("Small caption button height"),
  194.         SM_CXMENUSIZE,                                                                TEXT("SM_CXMENUSIZE"),
  195.                                                                                                 TEXT("Menu bar button width"),
  196.         SM_CYMENUSIZE,                                                                TEXT("SM_CYMENUSIZE"),
  197.                                                                                                 TEXT("Menu bar button height"),
  198.         SM_CXMINIMIZED,                                                                TEXT("SM_CXMINIMIZED"),
  199.                                                                                                 TEXT("Minimized window width"),
  200.         SM_CYMAXIMIZED,                                                                TEXT("SM_CYMAXIMIZED"),
  201.                                                                                                 TEXT("Minimized window height"),
  202.         SM_CXMAXTRACK,                                                                TEXT("SM_CXMAXTRACK"),
  203.                                                                                                 TEXT("Maximum draggable width"),
  204.         SM_CYMAXTRACK,                                                                TEXT("SM_CYMAXTRACK"),
  205.                                                                                                 TEXT("Maximum draggable height"),
  206.         SM_CXMAXIMIZED,                                                                TEXT("SM_CXMAXIMIZED"),
  207.                                                                                                 TEXT("Width of maximized window"),
  208.         SM_CYMENUSIZE,                                                                TEXT("SM_CYMENUSIZE"),
  209.                                                                                                 TEXT("Height of maximized window"),
  210.         SM_NETWORK,                                                                        TEXT("SM_NETWORK"),
  211.                                                                                                 TEXT("Network present flag"),
  212.         SM_CLEANBOOT,                                                                TEXT("SM_CLEANBOOT"),
  213.                                                                                                 TEXT("How system was booted"),
  214.         SM_CXDRAG,                                                                        TEXT("SM_CXDRAG"),
  215.                                                                                                 TEXT("Avoid drag x tolerance"),
  216.         SM_CYDRAG,                                                                        TEXT("SM_CYDRAG"),
  217.                                                                                                 TEXT("Avoid drag y tolerance"),
  218.         SM_SHOWSOUNDS,                                                                TEXT("SM_SHOWSOUNDS"),
  219.                                                                                                 TEXT("Present sounds visually"),
  220.         SM_CXMENUCHECK,                                                                TEXT("SM_CXMENUCHECK"),
  221.                                                                                                 TEXT("Menu check-mark width"),
  222.         SM_CYMENUCHECK,                                                                TEXT("SM_CYMENUCHECK"),
  223.                                                                                                 TEXT("Menu check-mark height"),
  224.         SM_SLOWMACHINE,                                                                TEXT("SM_SLOWMACHINE"),
  225.                                                                                                 TEXT("Slow processor flag"),
  226.         SM_MIDEASTENABLED,                                                        TEXT("SM_MIDEASTENABLED"),
  227.                                                                                                 TEXT("Hebrew and Arabic enabled flag"),
  228.         SM_MOUSEWHEELPRESENT,                                                TEXT("SM_MOUSEWHEELPRESENT"),
  229.                                                                                                 TEXT("Mouse wheel present flag"),
  230.         SM_XVIRTUALSCREEN,                                                        TEXT("SM_XVIRTUALSCREEN"),
  231.                                                                                                 TEXT("Virtual screen x origin"),
  232.         SM_YVIRTUALSCREEN,                                                        TEXT("SM_YVIRTUALSCREEN"),
  233.                                                                                                 TEXT("Virtual screen y origin"),
  234.         SM_CXVIRTUALSCREEN,                                                        TEXT("SM_CXVIRTUALSCREEN"),
  235.                                                                                                 TEXT("Virtual screen width"),
  236.         SM_CYVIRTUALSCREEN,                                                        TEXT("SM_CYVIRTUALSCREEN"),
  237.                                                                                                 TEXT("Virtual screen height"),
  238.         SM_CMONITORS,                                                                TEXT("SM_CMONITORS"),
  239.                                                                                                 TEXT("Number of monitors"),
  240.         SM_SECURE,                                                                        TEXT("SM_SECURE"),
  241.                                                                                                 TEXT("Security present flag"),
  242.         SM_SAMEDISPLAYFORMAT,                                                TEXT("SM_SAMEDISPLAYFORMAT"),
  243.                                                                                                 TEXT("Same color format flag"),

  244. }
复制代码
[/code]
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2019-7-11 11:16:01 | 显示全部楼层
xiejiayi.h这个头文件存在吗?
下面的这俩个定义为啥要放在末尾呢?一般放在开头。
#define NUMLINES ((int)(sizeof systemtrics/sizeof systemtrics [0]))
struct
{
        int iIndex;
        TCHAR *szLabel;
        TCHAR *szDesc;
}
systemtrics[] =
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2019-7-11 12:49:47 | 显示全部楼层
#define NUMLINES ((int)(sizeof systemtrics/sizeof systemtrics [0])) 这个及下面的内容是 xiejiayi.h里面的
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2019-7-11 12:50:28 | 显示全部楼层
TyCk 发表于 2019-7-11 11:16
xiejiayi.h这个头文件存在吗?
下面的这俩个定义为啥要放在末尾呢?一般放在开头。
#define NUMLINES ((i ...


#define NUMLINES ((int)(sizeof systemtrics/sizeof systemtrics [0])) 这个及下面的内容是 xiejiayi.h里面的
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-7-12 11:09:41 | 显示全部楼层
星空下一场雨 发表于 2019-7-11 12:50
#define NUMLINES ((int)(sizeof systemtrics/sizeof systemtrics [0])) 这个及下面的内容是 xiejiayi. ...

贴一下报错信息吧,这样看也不太好说是哪的问题。
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2019-7-12 12:41:20 | 显示全部楼层
TyCk 发表于 2019-7-12 11:09
贴一下报错信息吧,这样看也不太好说是哪的问题。

麻烦了  我已经解决了
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-6-9 10:34

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表