Unity3d 禁用Microsoft PixelSense(又名曲面)曲面外壳超时

Unity3d 禁用Microsoft PixelSense(又名曲面)曲面外壳超时,unity3d,timeout,pixelsense,Unity3d,Timeout,Pixelsense,我正在为微软PixelSense编写一个游戏,用Unity编写,通过桥接器和Unity插件与桌面进行通信 我目前正在尝试使用Microsoft PixelSense启动器使游戏玩得很好。通过模仿Surface Bing应用程序,我已经能够让我的应用程序出现在启动器中——复制指向C:\ProgramData\Microsoft\Surface\v2.0\Programs中XML文件的链接,并以正确的格式创建相应的XML 当我进入Surface模式时,无论是通过专用的Surface用户帐户,还是通过

我正在为微软PixelSense编写一个游戏,用Unity编写,通过桥接器和Unity插件与桌面进行通信

我目前正在尝试使用Microsoft PixelSense启动器使游戏玩得很好。通过模仿Surface Bing应用程序,我已经能够让我的应用程序出现在启动器中——复制指向C:\ProgramData\Microsoft\Surface\v2.0\Programs中XML文件的链接,并以正确的格式创建相应的XML

当我进入Surface模式时,无论是通过专用的Surface用户帐户,还是通过管理员配置文件上的Surface Shell,游戏都会在启动程序栏上正确显示,并带有我在XML中设置的自定义图标。游戏从工具栏正确启动,我可以玩而不会出现任何错误大约两分钟

此时,发射器关闭我的游戏。通过一些研究,我了解到应用程序的责任是

由于这是Microsoft PixelSense SDK的一部分,Unity无法访问,因此我尝试了各种方法来解决这一问题:

  • 我试着在单一应用模式下运行游戏。结果是,仍然有一个不同的超时等待SignalApplicationLoadComplete调用
  • 我尝试使用中的CriticalProcessMonitoring禁用ApplicationProcessMonitoring禁用
  • 我尝试将加载屏幕设置为0,低于其有效阈值
我想要的是为我的用户提供最流畅的进出Unity游戏的体验。目前,我们必须从Windows桌面上启动游戏,这可能会让用户感到沮丧,因为Windows无法区分不同的用户

有没有人有解决办法,有没有人很好地理解我如何欺骗Unity发出的SignalApplicationLoadingCall,或者有什么建议可以尝试

谢谢

更新:我还发现了一些不起作用的东西:

  • 我在C:\Windows\Microsoft.NET\assembly\GAC\u MSIL\Microsoft.Surface\v4.0\u 2.0.0\u 31bf3856ad364e35中找到了Microsoft.Surface DLL。我将其导入到Unity项目中,但收到System.TypeLoadException,该异常似乎是编译DLL时使用的,Unity当前不支持该异常
  • 我找不到任何允许我在不需要DLL的情况下与启动器进行通信
  • 我无法使用XNA包装程序,因为System.Diagnostics.Process.Start根据在表面模式下不工作

unity标签是针对Microsoft unity的。请不要误用它。对不起!我不知道那是件事。下次我会记得的。在Surface模式下运行时,是否需要包含任何DLL?我有一个空气应用程序,我正在尝试使用。我的图标出现在Pixel Sense启动器中,但我无法运行该应用程序。我得到一个错误“应用程序没有关闭加载屏幕”您不需要DLL在表面模式下运行它,但要保持在表面模式,正如您所经历的那样。我相信我上面引用的Microsoft.Surface DLL就是您想要的,但我无法用Unity3d解决它。