编程的时候用它为什么总是说没有定义,我查MSDN,说要包含windows.h,可是包含了还是说不认识?哪位达人告诉我,100分相送

解决方案 »

  1.   

    typedef struct tagKEYBDINPUT {
      WORD      wVk;
      WORD      wScan;
      DWORD     dwFlags;
      DWORD     time;
      ULONG_PTR dwExtraInfo;
    } KEYBDINPUT, *PKEYBDINPUT;
     把定义加到自己的工程里。
      

  2.   

    又告知ULONG_PTR没定义,刚才有位兄弟告诉说在winable.h里,不知道他怎么查的
      

  3.   

    我查的也是这个,加入之后运行编译出错,winable.h对,不知道怎么回事,是不是我的MSDN老了(2000年7月的)
      

  4.   

    #if (_WIN32_WINNT > 0x0400)//在winuser.h裡面有這個前提.所以#define _WIN32_WINNT 0x0401
    typedef struct tagKEYBDINPUT {
        WORD    wVk;
        WORD    wScan;
        DWORD   dwFlags;
        DWORD   time;
        DWORD   dwExtraInfo;
    } KEYBDINPUT, *PKEYBDINPUT, FAR* LPKEYBDINPUT;
      

  5.   

    typedef struct tagKEYBDINPUT {
      WORD      wVk;
      WORD      wScan;
      DWORD     dwFlags;
      DWORD     time;
      ULONG_PTR dwExtraInfo;
    } KEYBDINPUT, *PKEYBDINPUT;这个定义在winable.h中,所以添加winable.h
      

  6.   

    但是我的MSDN里说定义在winuser.h和windows.h里面啊,没有地方告诉我定义在winable.h里面,不好意思,这个问题让我很奇怪,实在想搞清楚地说
      

  7.   

    应该在winuser.h中,不过我建议你用keybd_event()函数,而不使用SendInput函数,前一个函数在Win95和WinNt3.5中也能使用
      

  8.   

    在WINUSER.H中有,但是前面有条件啊
      

  9.   

    winable.h好像是c用的.vc兼容..知道這個,可能是經驗問題..
    裡面有個extern "c"
    winuser.h是標準庫裡面的.應該用這個比較好.他好像還支持了unicode.
    唯一要注意的是
    _WIN32_WINNT這個編譯條件.
    你可以打開winable.h和winuser.h比較看看.
    ..在vc裡面
    #include "winable.h"//右鍵然後打開winable.h就是文件了