如何从Silverlight 5的浏览器外应用程序中检测到Windows和Mac上的多个屏幕?
我想要构建一个Winodws/Mac应用程序,我正在查看Silverlight 5。现在,Silverlight 支持多个窗口在脱离浏览器模式运行时,基于我自己对WPF和.NET的了解,这似乎是一个不错的选择。
我注意到Windows.Forms名称空间缺失(这是完全合理的),但这给我留下了上面的问题,我似乎找不到答案。
我曾考虑过使用Mono项目来实现这一点,但还没有从他们的项目中挖掘出一个方法,尽管还在搜索。我不是在找最好的方法,不管怎么说。
FYI,屏幕检测的目的是有第二个窗口设置全屏,用于通过投影仪显示材料。
发布于 2013-04-06 20:01:26
银光走出浏览器应用程序在Mac和Windows之间的行为存在差异,请参阅Windows和Macintosh上的银光差异。可以检测应用程序正在运行的平台,并且只对主机平台进行有效的调用。
Pete的文章创建大银灯窗口并使用PInvoke获取监视器分辨率和位置描述了如何通过Win32、EnumDisplayMonitors和GetMonitorInfo函数在Windows上获取显示信息。
如果您想使用C#/F#/VB.Net开发一个运行在Windows和Mac上的.Net应用程序,那么Silverlight仍然是一个很好的选择,另一个选择是单声道。
发布于 2013-04-06 00:12:09
我不认为你会找到答案。
在Windows上,您似乎可以通过win32来实现这一点。但是,解决方案依赖于p/invoke,这在Silverlight的Mac上是不可用的。
我怀疑在托管代码中是否有一个解决方案,它将在Silverlight中运行,无论是在.NET还是Mono中。
此外,我还会质疑在Silverlight中启动新应用程序的决定;因为版本5似乎是该框架的终点线。
https://stackoverflow.com/questions/15840756
复制相似问题