visual c++ 2010 errors importing User32.dll into 6

2019-02-27 11:35发布

问题:

Running visual c++ 2010 on 64bit win7, this line

#include "C:\Windows\SysWOW64\user32.dll"

its the correct path, the errors however include variations of

1>C:\Windows\SysWOW64\user32.dll(1): error C2018: unknown character '0x3'
1>C:\Windows\SysWOW64\user32.dll(1): error C2018: unknown character '0x4'
1>C:\Windows\SysWOW64\user32.dll(1): error C2018: unknown character '0x40'
1>C:\Windows\SysWOW64\user32.dll(1): error C2146: syntax error : missing ';' before identifier 'ÿÿ¸'
1>C:\Windows\SysWOW64\user32.dll(1): error C4430: missing type specifier - int assumed. Note: C++ does not support default-int

I am using it to get keybd_event() working as msdn says User32.dll is a requirement. Thanks ! *Note: The errors are in a code format block because it wouldn't let me submit it otherwise

回答1:

That's not how you import libraries. You just tried to include a binary. This has nothing to do with 32/64 bits.

What you need to do it add user32.lib to your library path.

You can import a library in Visual Studio by:

Project -> Properties -> Linker -> Additional Dependencies

Add "user32.lib" to the list.



回答2:

Use #include <windows.h> instead



回答3:

u load dll files by LoadLibrary() function which requires "windows.h" ,however visual studio add importatnt lib files like "user32.lib" and "kernal32.lib" etc defaultly at run time,so u just have to include header file to get that function work.