使用Mono在C#中单击鼠标 - Mac OS

时间:2011-01-31 22:02:47

标签: c# macos mono click mouseevent

我已经编写了一个应用程序(wpf - Mono会为Mac翻译吗?),我希望以某种方式移植到Mac OS X.此应用程序涉及使用user32.dll执行鼠标单击(类似这样):

[DllImport("user32.dll")]
    static extern void mouse_event(int dwFlags, int dx, int dy, int dwData, int dwExtraInfo);
 mouse_event(MOUSEEVENTF_LEFTDOWN, 0, 0, 0, 0);
 mouse_event(MOUSEEVENTF_LEFTUP, 0, 0, 0, 0);

我听说Mono对于为多个平台制作应用程序很有用 - 有没有办法让我的代码与Mac兼容?

如果没有,有没有办法可以使用相当于user32.dll的Mac来调用鼠标?还有一种方法可以检测程序是在Windows或Mac OS上运行,以选择运行哪些代码?

4 个答案:

答案 0 :(得分:1)

Mono目前不打算支持WPF,请参阅Link 看看这个SO question,看看它是否有帮助,你可能想要使用Silverlight,因为Mac上的微软支持它。

答案 1 :(得分:1)

此外,您正在调用Win32本机功能 - Mac上不支持这些功能。您最好的选择是使用跨平台的.NET严格代码。

答案 2 :(得分:0)

Mono不支持WPF,目前没有计划支持它。我自己在周末调查了这个。

如果您打算在GUI应用程序中使用mono,我建议您使用WinForms,因为这是在Mono中实现的。

以下是Mono实施功能的完整列表 - http://mono-project.com/Compatibility

答案 3 :(得分:0)

您可以尝试查看Apple的CG API,有一个函数CGEventCreateMouseEvent

相关问题