尝试在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”
有什么想法吗?
答案 0 :(得分:0)
我假设您正在尝试模拟您发现的与C#相关的互操作语法? C ++中的这种行为涉及更多: https://msdn.microsoft.com/en-us/library/3y1sfaz2.aspx
编辑曝光: 如果不是这种情况,请为这种方法或其他同学指明您的来源灵感,因为就目前而言,我不认为这在C ++中可视,无论是否可视。即使是现有的C ++命名空间,你也不会瞄准那里,但它是一个.NET,证实了我的假设......