Visual C ++:找不到'mouse_event'的函数定义

时间:2017-03-29 16:06:41

标签: c# c++ .net visual-studio

尝试在Visual C ++项目中使用某些Windows API,遇到编译问题。

在我的课程中,我有以下代码:

public:    
[System::Runtime::InteropServices::DllImport("user32.dll")]
static extern void mouse_event(int dwFlags, int dx, int dy, int cButtons, int dwextrainfo);

这是我课堂上的全部内容,因为我正在尝试让mouse_event()工作。

“extern”投掷:

  

指定了多个存储类

“mouse_event”抛出链接错误:

  

找不到“mouse_event”的函数定义

我已将鼠标事件声明为extern,包括Windows.h和导入的user32.dll,这不是链接到user32.dll中mouse_event()定义所需的全部内容吗?

静态外部更改为 extern 时,会抛出:

  

类成员的存储类无效

在成员声明中使用时,类定义中的extern不应该是正确的吗?

我之前在stackoverflow上看到了这个函数非常相似的代码实现。

如果有帮助,我的班级被定义为“ref class”

有什么想法吗?

1 个答案:

答案 0 :(得分:0)

我假设您正在尝试模拟您发现的与C#相关的互操作语法? C ++中的这种行为涉及更多: https://msdn.microsoft.com/en-us/library/3y1sfaz2.aspx

编辑曝光: 如果不是这种情况,请为这种方法或其他同学指明您的来源灵感,因为就目前而言,我不认为这在C ++中可视,无论是否可视。即使是现有的C ++命名空间,你也不会瞄准那里,但它是一个.NET,证实了我的假设......