Использование ShowWithoutActivation - PullRequest
2 голосов
/ 24 декабря 2011

Я пытаюсь запустить приложение 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 какпроцесс, о котором пользователь может не знать, но я не уверен, что возможно с этим последним шагом.Что мне делать?

Спасибо!

...