windows编程问题

windows编程问题,第1张

你是这样做的吗? 没好巧问题呀。 如果还不行,把#define WINVER 0x0500去掉试试。

或者把你的代码粘贴出来。

#define WINVER 0x0500

#include <windows.h>

// #include "sysmets.h"

#define NUMLINES ((int) (sizeof sysmetrics / sizeof sysmetrics [0]))

struct

{

int iIndex

TCHAR * szLabel

TCHAR * szDesc

}

sysmetrics [] =

{

SM_CXSCREEN, TEXT ("SM_CXSCREEN"),

TEXT ("Screen width in pixels"),

SM_CYSCREEN, TEXT ("SM_CYSCREEN"),

TEXT ("Screen height in pixels"),

SM_CXVSCROLL,TEXT ("SM_CXVSCROLL"),

TEXT ("Vertical scroll width"),

SM_CYHSCROLL,TEXT ("SM_CYHSCROLL"),

TEXT ("Horizontal scroll height"),

SM_CYCAPTION,TEXT ("SM_CYCAPTION"),

TEXT ("Caption bar height"),

SM_CXBORDER, TEXT ("SM_CXBORDER"),

TEXT ("Window border width"友昌键),

SM_CYBORDER, TEXT ("SM_CYBORDER"),

TEXT ("Window border height"),

SM_CXFIXEDFRAME, TEXT ("SM_CXFIXEDFRAME"),

TEXT ("迅正Dialog window frame width"),

SM_CYFIXEDFRAME, TEXT ("SM_CYFIXEDFRAME"),

TEXT ("Dialog window frame height"),

SM_CYVTHUMB, TEXT ("SM_CYVTHUMB"),

TEXT ("Vertical scroll thumb height"),

SM_CXHTHUMB, TEXT ("SM_CXHTHUMB"),

TEXT ("Horizontal scroll thumb width"),

SM_CXICON, TEXT ("SM_CXICON"),

TEXT ("Icon width"),

SM_CYICON, TEXT ("SM_CYICON"),

TEXT ("Icon height"),

SM_CXCURSOR, TEXT ("SM_CXCURSOR"),

TEXT ("Cursor width"),

SM_CYCURSOR, TEXT ("SM_CYCURSOR"),

TEXT ("Cursor height"),

SM_CYMENU, TEXT ("SM_CYMENU"),

TEXT ("Menu bar height"),

SM_CXFULLSCREEN, TEXT ("SM_CXFULLSCREEN"),

TEXT ("Full screen client area width"),

SM_CYFULLSCREEN, TEXT ("SM_CYFULLSCREEN"),

TEXT ("Full screen client area height"),

SM_CYKANJIWINDOW,TEXT ("SM_CYKANJIWINDOW"),

TEXT ("Kanji window height"),

SM_MOUSEPRESENT, TEXT ("SM_MOUSEPRESENT"),

TEXT ("Mouse present flag"),

SM_CYVSCROLL,TEXT ("SM_CYVSCROLL"),

TEXT ("Vertical scroll arrow height"),

SM_CXHSCROLL,TEXT ("SM_CXHSCROLL"),

TEXT ("Horizontal scroll arrow width"),

SM_DEBUG,TEXT ("SM_DEBUG"),

TEXT ("Debug version flag"),

SM_SWAPBUTTON, TEXT ("SM_SWAPBUTTON"),

TEXT ("Mouse buttons swapped flag"),

SM_CXMIN,TEXT ("SM_CXMIN"),

TEXT ("Minimum window width"),

SM_CYMIN,TEXT ("SM_CYMIN"),

TEXT ("Minimum window height"),

SM_CXSIZE, TEXT ("SM_CXSIZE"),

TEXT ("Min/Max/Close button width"),

SM_CYSIZE, TEXT ("SM_CYSIZE"),

TEXT ("Min/Max/Close button height"),

SM_CXSIZEFRAME, TEXT ("SM_CXSIZEFRAME"),

TEXT ("Window sizing frame width"),

SM_CYSIZEFRAME, TEXT ("SM_CYSIZEFRAME"),

TEXT ("Window sizing frame height"),

SM_CXMINTRACK, TEXT ("SM_CXMINTRACK"),

TEXT ("Minimum window tracking width"),

SM_CYMINTRACK, TEXT ("SM_CYMINTRACK"),

TEXT ("Minimum window tracking height"),

SM_CXDOUBLECLK, TEXT ("SM_CXDOUBLECLK"),

TEXT ("Double click x tolerance"),

SM_CYDOUBLECLK, TEXT ("SM_CYDOUBLECLK"),

TEXT ("Double click y tolerance"),

SM_CXICONSPACING,TEXT ("SM_CXICONSPACING"),

TEXT ("Horizontal icon spacing"),

SM_CYICONSPACING,TEXT ("SM_CYICONSPACING"),

TEXT ("Vertical icon spacing"),

SM_MENUDROPALIGNMENT,TEXT ("SM_MENUDROPALIGNMENT"),

TEXT ("Left or right menu drop"),

SM_PENWINDOWS, TEXT ("SM_PENWINDOWS"),

TEXT ("Pen extensions installed"),

SM_DBCSENABLED, TEXT ("SM_DBCSENABLED"),

TEXT ("Double-Byte Char Set enabled"),

SM_CMOUSEBUTTONS,TEXT ("SM_CMOUSEBUTTONS"),

TEXT ("Number of mouse buttons"),

SM_SECURE, TEXT ("SM_SECURE"),

TEXT ("Security present flag"),

SM_CXEDGE, TEXT ("SM_CXEDGE"),

TEXT ("3-D border width"),

SM_CYEDGE, TEXT ("SM_CYEDGE"),

TEXT ("3-D border height"),

SM_CXMINSPACING, TEXT ("SM_CXMINSPACING"),

TEXT ("Minimized window spacing width"),

SM_CYMINSPACING, TEXT ("SM_CYMINSPACING"),

TEXT ("Minimized window spacing height"),

SM_CXSMICON, TEXT ("SM_CXSMICON"),

TEXT ("Small icon width"),

SM_CYSMICON, TEXT ("SM_CYSMICON"),

TEXT ("Small icon height"),

SM_CYSMCAPTION, TEXT ("SM_CYSMCAPTION"),

TEXT ("Small caption height"),

SM_CXSMSIZE, TEXT ("SM_CXSMSIZE"),

TEXT ("Small caption button width"),

SM_CYSMSIZE, TEXT ("SM_CYSMSIZE"),

TEXT ("Small caption button height"),

SM_CXMENUSIZE, TEXT ("SM_CXMENUSIZE"),

TEXT ("Menu bar button width"),

SM_CYMENUSIZE, TEXT ("SM_CYMENUSIZE"),

TEXT ("Menu bar button height"),

SM_ARRANGE, TEXT ("SM_ARRANGE"),

TEXT ("How minimized windows arranged"),

SM_CXMINIMIZED, TEXT ("SM_CXMINIMIZED"),

TEXT ("Minimized window width"),

SM_CYMINIMIZED, TEXT ("SM_CYMINIMIZED"),

TEXT ("Minimized window height"),

SM_CXMAXTRACK, TEXT ("SM_CXMAXTRACK"),

TEXT ("Maximum draggable width"),

SM_CYMAXTRACK, TEXT ("SM_CYMAXTRACK"),

TEXT ("Maximum draggable height"),

SM_CXMAXIMIZED, TEXT ("SM_CXMAXIMIZED"),

TEXT ("Width of maximized window"),

SM_CYMAXIMIZED, TEXT ("SM_CYMAXIMIZED"),

TEXT ("Height of maximized window"),

SM_NETWORK, TEXT ("SM_NETWORK"),

TEXT ("Network present flag"),

SM_CLEANBOOT,TEXT ("SM_CLEANBOOT"),

TEXT ("How system was booted"),

SM_CXDRAG, TEXT ("SM_CXDRAG"),

TEXT ("Avoid drag x tolerance"),

SM_CYDRAG, TEXT ("SM_CYDRAG"),

TEXT ("Avoid drag y tolerance"),

SM_SHOWSOUNDS, TEXT ("SM_SHOWSOUNDS"),

TEXT ("Present sounds visually"),

SM_CXMENUCHECK, TEXT ("SM_CXMENUCHECK"),

TEXT ("Menu check-mark width"),

SM_CYMENUCHECK, TEXT ("SM_CYMENUCHECK"),

TEXT ("Menu check-mark height"),

SM_SLOWMACHINE, TEXT ("SM_SLOWMACHINE"),

TEXT ("Slow processor flag"),

SM_MIDEASTENABLED, TEXT ("SM_MIDEASTENABLED"),

TEXT ("Hebrew and Arabic enabled flag"),

SM_MOUSEWHEELPRESENT,TEXT ("SM_MOUSEWHEELPRESENT"),

TEXT ("Mouse wheel present flag"),

SM_XVIRTUALSCREEN, TEXT ("SM_XVIRTUALSCREEN"),

TEXT ("Virtual screen x origin"),

SM_YVIRTUALSCREEN, TEXT ("SM_YVIRTUALSCREEN"),

TEXT ("Virtual screen y origin"),

SM_CXVIRTUALSCREEN, TEXT ("SM_CXVIRTUALSCREEN"),

TEXT ("Virtual screen width"),

SM_CYVIRTUALSCREEN, TEXT ("SM_CYVIRTUALSCREEN"),

TEXT ("Virtual screen height"),

SM_CMONITORS,TEXT ("SM_CMONITORS"),

TEXT ("Number of monitors"),

SM_SAMEDISPLAYFORMAT,TEXT ("SM_SAMEDISPLAYFORMAT"),

TEXT ("Same color format flag")

}

LRESULT CALLBACK WndProc (HWND, UINT, WPARAM, LPARAM)

int WINAPI WinMain (HINSTANCE hInstance, HINSTANCE hPrevInstance,

PSTR szCmdLine, int iCmdShow)

{

static TCHAR szAppName[] = TEXT ("SysMets1")

HWND hwnd

MSG msg

WNDCLASS wndclass

wndclass.style = CS_HREDRAW | CS_VREDRAW

wndclass.lpfnWndProc = WndProc

wndclass.cbClsExtra= 0

wndclass.cbWndExtra= 0

wndclass.hInstance = hInstance

wndclass.hIcon = LoadIcon (NULL, IDI_APPLICATION)

wndclass.hCursor = LoadCursor (NULL, IDC_ARROW)

wndclass.hbrBackground = (HBRUSH) GetStockObject (WHITE_BRUSH)

wndclass.lpszMenuName = NULL

wndclass.lpszClassName = szAppName

if (!RegisterClass (&wndclass))

{

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 WndProc (HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam)

{

static int cxChar, cxCaps, cyChar

HDC hdc

int i

PAINTSTRUCT ps

TCHAR szBuffer [10]

TEXTMETRIC tm

switch (message)

{

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)

return 0

case WM_PAINT :

hdc = BeginPaint (hwnd, &ps)

for (i = 0 i <NUMLINES i++)

{

TextOut (hdc, 0, cyChar * i,

sysmetrics[i].szLabel,

lstrlen (sysmetrics[i].szLabel))

TextOut (hdc, 22 * cxCaps, cyChar * i,

sysmetrics[i].szDesc,

lstrlen (sysmetrics[i].szDesc))

SetTextAlign (hdc, TA_RIGHT | TA_TOP)

TextOut (hdc, 22 * cxCaps + 40 * cxChar, cyChar * i, szBuffer,

wsprintf (szBuffer, TEXT ("%5d"),

GetSystemMetrics (sysmetrics[i].iIndex)))

SetTextAlign (hdc, TA_LEFT | TA_TOP)

}

EndPaint (hwnd, &ps)

return 0

case WM_DESTROY :

PostQuitMessage (0)

return 0

}

return DefWindowProc (hwnd, message, wParam, lParam)

}

您好,卖此哗这样的:

偶遇到类似问题都是用

“每次用/*...*/注释掉不同部分再重新编译,直到定位到中行具体语法出错的位置。”

的方法解决的。

项目、属性、C/C++、附加包扒帆含目录:填写附加头文件所在目录 分号间隔多项

项目、属性、链接器、附加库目录:填写附加依赖库所在目录 分号间隔多项

项目、属性、链接器(点前面的+展开)、输入、附加依赖项:填写附加依赖库的名字.lib 空格间隔多项。

就是创建一个窗闹乱口?

我滚前调试成功了!

复制我这个system.h文件试试

#define NUMLINES ((int) (sizeof sysmetrics / sizeof sysmetrics [0]))

struct

{

int Index

TCHAR * szLabel

TCHAR * szDesc

}sysmetrics [] = {

SM_CXSCREEN,

TEXT ("SM_CXSCREEN"),

TEXT ("Screen width in pixels"),

SM_CYSCREEN,

TEXT ("SM_CYSCREEN"),

TEXT ("Screen height in pixels"),

SM_CXVSCROLL,

TEXT ("SM_CXVSCROLL"),

TEXT ("Vertical scroll width"),

SM_CYHSCROLL,

TEXT ("SM_CYHSCROLL"),

TEXT ("Horizontal scroll height"),

SM_CYCAPTION,

TEXT ("SM_CYCAPTION"),

TEXT ("Caption bar height"),

SM_CXBORDER,

TEXT ("SM_CXBORDER"),

TEXT ("大弯清Window border width"),

SM_CYBORDER,

TEXT ("SM_CYBORDER"),

TEXT ("Window border height"),

SM_CXFIXEDFRAME,

TEXT ("SM_CXFIXEDFRAME"),

TEXT ("Dialog window frame width"),

SM_CYFIXEDFRAME,

TEXT ("SM_CYFIXEDFRAME"),

TEXT ("Dialog window frame height"),

SM_CYVTHUMB,

TEXT ("SM_CYVTHUMB"),

TEXT ("Vertical scroll thumb height"),

SM_CXHTHUMB,

TEXT ("SM_CXHTHUMB"),

TEXT ("Horizontal scroll thumb width"),

SM_CXICON,

TEXT ("SM_CXICON"),

TEXT ("Icon width"),

SM_CYICON,

TEXT ("SM_CYICON"),

TEXT ("Icon height"),

SM_CXCURSOR, TEXT ("SM_CXCURSOR"),

TEXT ("Cursor width"),

SM_CYCURSOR,

TEXT("SM_CYCURSOR"),

TEXT("Cursor height"),

SM_CYMENU,

TEXT ("SM_CYMENU"),

TEXT ("Menu bar height"),

SM_CXFULLSCREEN,

TEXT ("SM_CXFULLSCREEN"),

TEXT ("Full screen client area width"),

SM_CYFULLSCREEN,

TEXT ("SM_CYFULLSCREEN"),

TEXT ("Full screen client area height"),

SM_CYKANJIWINDOW,

TEXT ("SM_CYKANJIWINDOW"),

TEXT ("Kanji window height"),

SM_MOUSEPRESENT,

TEXT ("SM_MOUSEPRESENT"),

TEXT ("Mouse present flag"),

SM_CYVSCROLL,

TEXT ("SM_CYVSCROLL"),

TEXT ("Vertical scroll arrow height"),

SM_CXHSCROLL,

TEXT ("SM_CXHSCROLL"),

TEXT ("Horizontal scroll arrow width"),

SM_DEBUG,

TEXT ("SM_DEBUG"),

TEXT ("Debug version flag"),

SM_CXSMICON,

TEXT ("SM_CXSMICON"),

TEXT ("Small icon width"),

SM_CYSMICON,

TEXT ("SM_CYSMICON"),

TEXT ("Small icon height")

}


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/tougao/12292483.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-24
下一篇 2023-05-24

发表评论

登录后才能评论

评论列表(0条)

保存