Я пытаюсь запустить приложение XNA с ShowWithoutActivation
, чтобы оно появлялось без кражи фокуса.
Я пытаюсь сделать это для ветви SurfaceToTUIO * 1005 с открытым исходным кодом.*, который работает на Microsoft Surface SDK, построенном на XNA.Приложение, с которым я интегрируюсь, не построено на XNA, поэтому я не могу объединить их.
Я новичок в формах, но добился определенных успехов.Я могу получить форму приложения с:
Form form = (Form)Form.FromHandle(Window.Handle);
Оттуда установите ShowInTaskbar
в false, установите FormBorderStyle
в FixedToolWindow
и SetDesktopBounds
в закадровый.
ShowWithoutActivation
нельзя установить напрямую, так как он может быть переопределен только подклассом.Я могу сказать, что XNA создает окно, из которого я извлекаю форму, но это, кажется, происходит за кулисами.
Я предполагаю, что могу использовать отражение, чтобы переписать метод в форме ShowWithoutActivation
метод, но он хакерский, и я не уверен, что он будет работать вовремя, чтобы изменить ситуацию.Я не уверен, смогу ли я установить свою собственную подклассную форму в XNA - Application.Run()
может принять форму, но подкласс Microsoft.Xna.Framework.Game
не может.
Я думаю, что я близок к запуску SurfaceToTUIO какпроцесс, о котором пользователь может не знать, но я не уверен, что возможно с этим последним шагом.Что мне делать?
Спасибо!