0

如何从 Silverlight 5 浏览器外应用程序检测 Windows 和 Mac 上的多个屏幕?

我正在为我想构建的 Winodws/Mac 应用程序寻找 Silverlight 5。现在 Silverlight在浏览器外模式下运行时支持多个窗口,根据我自己对 WPF 和 .NET 的了解,这似乎是一个不错的选择。

我注意到Windows.Forms缺少命名空间(这很有意义),但这让我遇到了上述问题,我似乎无法找到答案。

我曾考虑过为此使用 Mono 项目,但还没有从他们的任何一个中挖掘出方法,但仍在搜索。我不是在寻找最好的方式,只是任何方式。

仅供参考,屏幕检测的目的是通过投影仪设置第二个窗口全屏显示材料。

4

2 回答 2

1

我不认为你会找到答案。

似乎在 Windows 上,您可以使用win32实现此目的。但是,解决方案取决于 p/invoke,这在 Silverlight for Mac 上不可用。

我怀疑托管代码中有一个解决方案,它可以在 Silverlight 中运行,无论是 .NET 还是 Mono。

另外,我会质疑在 Silverlight 中启动新应用程序的决定。因为版本 5 似乎是该框架的终点

于 2013-04-06T00:12:09.913 回答
1

Mac 和 Windows 之间的Silverlight 浏览器外应用程序的行为存在差异,请参阅Silverlight 在 Windows 和 Macintosh 上的差异。可以检测应用程序正在运行的平台,并且只对主机平台进行有效调用。

Pete Brown 的文章Creating Big Silverlight Windows and Getting Monitor Resolutions and Positions with PInvoke描述了如何通过 Win32 EnumDisplayMonitorsGetMonitorInfo函数获取 Windows 平台上的显示信息。

如果您想使用 C#/F#/VB.Net 开发一个在 Windows 和 Mac 上运行的 .Net 应用程序,Silverlight 仍然是一个不错的选择,另一个是Mono

于 2013-04-06T20:01:26.720 回答