C# 在不激活的情况下使用Show

C# 在不激活的情况下使用Show,c#,forms,xna,pixelsense,C#,Forms,Xna,Pixelsense,我正在尝试运行一个XNA应用程序,在没有激活的情况下运行show,这样它就不会窃取焦点 我正试图为一个开源软件做这件事,它运行在基于XNA构建的Microsoft Surface SDK上。我正在集成的应用程序不是基于XNA构建的,因此我无法将两者结合起来 我不熟悉表格,但已经取得了一些进展。我可以通过以下方式从申请表中获取表格: Form form = (Form)Form.FromHandle(Window.Handle); 然后将ShowInTaskbar设置为false,将其FormB

我正在尝试运行一个XNA应用程序,在没有激活的情况下运行
show
,这样它就不会窃取焦点

我正试图为一个开源软件做这件事,它运行在基于XNA构建的Microsoft Surface SDK上。我正在集成的应用程序不是基于XNA构建的,因此我无法将两者结合起来

我不熟悉表格,但已经取得了一些进展。我可以通过以下方式从申请表中获取表格:

Form form = (Form)Form.FromHandle(Window.Handle);
然后将
ShowInTaskbar
设置为false,将其
FormBorderStyle
设置为
FixedToolWindow
,并将
SetDesktopBounds
设置为屏幕外

ShowWithoutActivation
不能直接设置,因为它只能由子类重写。我可以说XNA创建了一个我从中提取表单的窗口,但这似乎发生在幕后

我猜我可以使用反射在表单的
show上重写该方法,而无需激活
方法,但它太粗糙了,我不确定它是否会及时运行以产生影响。我不确定是否可以在XNA中设置自己的子类表单-
应用程序。Run()
可以采用表单,但Microsoft.XNA.Framework.Game的子类不能

我想我已经接近让SurfaceToTUIO作为一个用户可能不知道的进程运行了,但我不确定这最后一步有什么可能。我该怎么办

谢谢