尝试在我的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() 工作。
"外出"正在抛出:
指定了多个存储类
"mouse_event"抛出链接错误:
未找到"mouse_event"的函数定义
我已经将鼠标事件声明为 extern,包括 Windows.h 和导入的 user32.dll,这不是链接到 user32.dll 中 mouse_event() 定义所需的全部内容吗?
当将静态 extern更改为仅extern时,它会抛出:
类成员的存储类无效
当用于成员的声明时,extern 在类定义中不应该是可以的吗?
我以前在stackoverflow上看到过这个函数非常相似的代码实现。
如果有帮助,我的类被定义为"ref 类">
有什么想法吗?
我假设您正在尝试模拟您发现的与 C# 相关的互操作语法?C++中的此类操作涉及更多: https://msdn.microsoft.com/en-us/library/3y1sfaz2.aspx
为展览而编辑: 如果不是这种情况,请说明您为这种方法或您班级的其他成员提供的来源灵感,因为就目前而言,我认为这在C++中不起作用,无论是否视觉。这甚至不是您在那里定位的现存C++命名空间,但它是一个 .NET 命名空间,证实了我的假设......