|
| 'WH_MOUSE_LL' : undeclared identifier ?? Fra : Teis Draiby |
Dato : 06-12-02 14:01 |
|
Jeg vil gerne kompilere en dll kildekode, som følger med som eksempel til et
program. Selvom det det hele skulle være lige til at kompilere, får jeg en
fejlmeddelse. Jeg anvender VC++
---------------------------------------
C:\... ...\mousedriver.cpp(353) :
error C2065: 'WH_MOUSE_LL' : undeclared identifier
Error executing cl.exe.
---------------------------------------
Der er inkluderet følgende:
#include "StdAfx.h"
#include <assert.h>
#include <atlbase.h> // ATL.
#include <windows.h>
--------------------------------------
Denne linje i koden indeholder den pågældende parameter:
g_currentHook = SetWindowsHookEx(WH_MOUSE_LL, (HOOKPROC)MyMouseProc,
g_hInstance,0);
------------------------------------
Hvorfor vil den ikke acceptere denne parameter??
Tak,
Teis Draiby
| |
Bertel Brander (08-12-2002)
| Kommentar Fra : Bertel Brander |
Dato : 08-12-02 01:42 |
|
Teis Draiby wrote:
> Jeg vil gerne kompilere en dll kildekode, som følger med som eksempel til et
> program. Selvom det det hele skulle være lige til at kompilere, får jeg en
> fejlmeddelse. Jeg anvender VC++
>
> ---------------------------------------
>
> C:\... ...\mousedriver.cpp(353) :
> error C2065: 'WH_MOUSE_LL' : undeclared identifier
> Error executing cl.exe.
>
> ---------------------------------------
> Der er inkluderet følgende:
>
> #include "StdAfx.h"
>
> #include <assert.h>
> #include <atlbase.h> // ATL.
> #include <windows.h>
>
> --------------------------------------
> Denne linje i koden indeholder den pågældende parameter:
>
> g_currentHook = SetWindowsHookEx(WH_MOUSE_LL, (HOOKPROC)MyMouseProc,
> g_hInstance,0);
>
> ------------------------------------
>
> Hvorfor vil den ikke acceptere denne parameter??
>
Hvis du ser i winuser.h hvor WH_MOUSE_LL er defineret kan du se:
#if (_WIN32_WINNT >= 0x0400)
#define WH_KEYBOARD_LL 13
#define WH_MOUSE_LL 14
#endif // (_WIN32_WINNT >= 0x0400)
dvs at _WIN32_WINNT skal være defineret til at være >= 0x400.
I MSDN står der under Reqerements:
Windows NT/2000: Requires Windows NT 4.0 SP3 or later.
Windows 95/98: Unsupported.
Så du skal have WinNT 4.0 SP3 eller Win 2000, har du det? Hvis du har
kan du prøve at insætte en:
#define _WIN32_WINNT 0x400
I stdafx.h før du inkluderer nogen header fil.
(Min ældre version af MSDN nævner ikke ME eller XP, jeg gætter dog på
at funktionen ikke vil virke på ME men på XP).
HTH
/bertel
| |
Teis Draiby (10-12-2002)
| Kommentar Fra : Teis Draiby |
Dato : 10-12-02 16:54 |
|
Tak for svarene!!!
Idet jeg bruger WinXP fulgte jeg Bertel's råd:
"...Så du skal have WinNT 4.0 SP3 eller Win 2000, har du det?
Hvis du har kan du prøve at insætte en:
#define _WIN32_WINNT 0x400
I stdafx.h før du inkluderer nogen header fil..."
-Hvilket havde en magisk effekt! Det hele vireker helt efter hensigten nu.
Mange tak for det gode tip!
Hilsen Teis
----- Original Message -----
From: "Bertel Brander" <bertel@post4.tele.dk>
Newsgroups: dk.edb.programmering.c
Sent: Sunday, December 08, 2002 1:41 AM
Subject: Re: 'WH_MOUSE_LL' : undeclared identifier ??
>
>
> Teis Draiby wrote:
>
> > Jeg vil gerne kompilere en dll kildekode, som følger med som eksempel
til et
> > program. Selvom det det hele skulle være lige til at kompilere, får jeg
en
> > fejlmeddelse. Jeg anvender VC++
> >
> > ---------------------------------------
> >
> > C:\... ...\mousedriver.cpp(353) :
> > error C2065: 'WH_MOUSE_LL' : undeclared identifier
> > Error executing cl.exe.
> >
> > ---------------------------------------
> > Der er inkluderet følgende:
> >
> > #include "StdAfx.h"
> >
> > #include <assert.h>
> > #include <atlbase.h> // ATL.
> > #include <windows.h>
> >
> > --------------------------------------
> > Denne linje i koden indeholder den pågældende parameter:
> >
> > g_currentHook = SetWindowsHookEx(WH_MOUSE_LL, (HOOKPROC)MyMouseProc,
> > g_hInstance,0);
> >
> > ------------------------------------
> >
> > Hvorfor vil den ikke acceptere denne parameter??
> >
>
> Hvis du ser i winuser.h hvor WH_MOUSE_LL er defineret kan du se:
> #if (_WIN32_WINNT >= 0x0400)
> #define WH_KEYBOARD_LL 13
> #define WH_MOUSE_LL 14
> #endif // (_WIN32_WINNT >= 0x0400)
>
> dvs at _WIN32_WINNT skal være defineret til at være >= 0x400.
>
> I MSDN står der under Reqerements:
>
> Windows NT/2000: Requires Windows NT 4.0 SP3 or later.
> Windows 95/98: Unsupported.
>
> Så du skal have WinNT 4.0 SP3 eller Win 2000, har du det? Hvis du har
> kan du prøve at insætte en:
> #define _WIN32_WINNT 0x400
> I stdafx.h før du inkluderer nogen header fil.
>
> (Min ældre version af MSDN nævner ikke ME eller XP, jeg gætter dog på
> at funktionen ikke vil virke på ME men på XP).
>
> HTH
>
> /bertel
| |
Teis Draiby (10-12-2002)
| Kommentar Fra : Teis Draiby |
Dato : 10-12-02 16:54 |
|
Tak for svarene!!!
Idet jeg bruger WinXP fulgte jeg Bertel's råd:
"...Så du skal have WinNT 4.0 SP3 eller Win 2000, har du det?
Hvis du har kan du prøve at insætte en:
#define _WIN32_WINNT 0x400
I stdafx.h før du inkluderer nogen header fil..."
-Hvilket havde en magisk effekt! Det hele vireker helt efter hensigten nu.
Mange tak for det gode tip!
Hilsen Teis
----- Original Message -----
From: "Bertel Brander" <bertel@post4.tele.dk>
Newsgroups: dk.edb.programmering.c
Sent: Sunday, December 08, 2002 1:41 AM
Subject: Re: 'WH_MOUSE_LL' : undeclared identifier ??
>
>
> Teis Draiby wrote:
>
> > Jeg vil gerne kompilere en dll kildekode, som følger med som eksempel
til et
> > program. Selvom det det hele skulle være lige til at kompilere, får jeg
en
> > fejlmeddelse. Jeg anvender VC++
> >
> > ---------------------------------------
> >
> > C:\... ...\mousedriver.cpp(353) :
> > error C2065: 'WH_MOUSE_LL' : undeclared identifier
> > Error executing cl.exe.
> >
> > ---------------------------------------
> > Der er inkluderet følgende:
> >
> > #include "StdAfx.h"
> >
> > #include <assert.h>
> > #include <atlbase.h> // ATL.
> > #include <windows.h>
> >
> > --------------------------------------
> > Denne linje i koden indeholder den pågældende parameter:
> >
> > g_currentHook = SetWindowsHookEx(WH_MOUSE_LL, (HOOKPROC)MyMouseProc,
> > g_hInstance,0);
> >
> > ------------------------------------
> >
> > Hvorfor vil den ikke acceptere denne parameter??
> >
>
> Hvis du ser i winuser.h hvor WH_MOUSE_LL er defineret kan du se:
> #if (_WIN32_WINNT >= 0x0400)
> #define WH_KEYBOARD_LL 13
> #define WH_MOUSE_LL 14
> #endif // (_WIN32_WINNT >= 0x0400)
>
> dvs at _WIN32_WINNT skal være defineret til at være >= 0x400.
>
> I MSDN står der under Reqerements:
>
> Windows NT/2000: Requires Windows NT 4.0 SP3 or later.
> Windows 95/98: Unsupported.
>
> Så du skal have WinNT 4.0 SP3 eller Win 2000, har du det? Hvis du har
> kan du prøve at insætte en:
> #define _WIN32_WINNT 0x400
> I stdafx.h før du inkluderer nogen header fil.
>
> (Min ældre version af MSDN nævner ikke ME eller XP, jeg gætter dog på
> at funktionen ikke vil virke på ME men på XP).
>
> HTH
>
> /bertel
| |
John Doe (09-12-2002)
| Kommentar Fra : John Doe |
Dato : 09-12-02 21:22 |
|
Teis Draiby wrote:
> Jeg vil gerne kompilere en dll kildekode, som følger med som eksempel til et
> program. Selvom det det hele skulle være lige til at kompilere, får jeg en
> fejlmeddelse. Jeg anvender VC++
>
> ---------------------------------------
>
> C:\... ...\mousedriver.cpp(353) :
> error C2065: 'WH_MOUSE_LL' : undeclared identifier
> Error executing cl.exe.
>
> ---------------------------------------
> Der er inkluderet følgende:
>
> #include "StdAfx.h"
>
> #include <assert.h>
> #include <atlbase.h> // ATL.
> #include <windows.h>
>
> --------------------------------------
> Denne linje i koden indeholder den pågældende parameter:
>
> g_currentHook = SetWindowsHookEx(WH_MOUSE_LL, (HOOKPROC)MyMouseProc,
> g_hInstance,0);
>
> ------------------------------------
>
> Hvorfor vil den ikke acceptere denne parameter??
>
>
> Tak,
> Teis Draiby
>
>
>
Arbejder du på W9x eller Windows NT.
Ifølge doc:
WH_MOUSE_LL = Windows NT: Installs a hook procedure that monitors
low-level mouse input events. For more information, see the
LowLevelMouseProc hook procedure.
Cheers, Frank
| |
|
|