我已经编写了一个应用程序(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上运行,以选择运行哪些代码?
答案 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