Предотвратить DirectX Полноэкранное прерывание.

Я использую инструментарий sharpdx для создания полноэкранного окна DirectX 11.

теперь, когда другое приложение открывает окно, этот полноэкранный режим теряется. (например, всплывающие окна из Skype, сообщения об ошибках,...)

Я видел, что другие игры могут как-то избежать этого, поэтому мне было интересно, возможно ли это и с помощью sharpdx toolkit, и если да, то как?

если это невозможно с инструментарием, как это можно сделать с помощью функций DirectX 11?

Спасибо!

1 ответ

У меня была похожая проблема с приложением XNA, которое я создал некоторое время назад. Я имел некоторый успех, используя Windows API PInvoke.

MSDN

private static class NativeMethods
{
    [DllImport("user32.dll", SetLastError = true)]
    [return: MarshalAs(UnmanagedType.Bool)]
    public static extern bool LockSetForegroundWindow(uint uLockCode);
    public static readonly uint LSFW_LOCK = 1;
    public static readonly uint LSFW_UNLOCK = 2;
}

// Prevent annoying windows notifications etc from stealing focus and ruining the show!
NativeMethods.LockSetForegroundWindow(NativeMethods.LSFW_LOCK);
Другие вопросы по тегам