Предотвратить DirectX Полноэкранное прерывание.
Я использую инструментарий sharpdx для создания полноэкранного окна DirectX 11.
теперь, когда другое приложение открывает окно, этот полноэкранный режим теряется. (например, всплывающие окна из Skype, сообщения об ошибках,...)
Я видел, что другие игры могут как-то избежать этого, поэтому мне было интересно, возможно ли это и с помощью sharpdx toolkit, и если да, то как?
если это невозможно с инструментарием, как это можно сделать с помощью функций DirectX 11?
Спасибо!
1 ответ
У меня была похожая проблема с приложением XNA, которое я создал некоторое время назад. Я имел некоторый успех, используя Windows API PInvoke.
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);