|
发表于 2013-10-9 08:15:59
|
显示全部楼层
在学习windows编程时,在参考教程上的程序例时,可能都遇到过类似问题。实际上这是一个需要自己创建的头文件。在windows程序设计的前半部分有这个文件的代码,复制它,命名为'sysmets.h,并把它和源代码放到同一目录下,然后#include"sysmets.h"即可。(注意不是#include<sysmets.h>)
这个问题出现是因为sysmets.h不是VC或SDK的头文件。
首先建立头文件sysmets.h。代码如下:- // 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_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")
- };
复制代码 而在源文件中写:#include "sysmets.h",而不是:#include <sysmets.h>.此外,网上有些头文件的代码有拼写错误而导致运行出错。在结构struct中的int Index 误写为int iIndex. |
|