Добавьте обработчик событий к событию Loaded в главном окне: Loaded="Window_Loaded"
:
Затем определите этот метод следующим образом:
private void Window_Loaded(object sender, RoutedEventArgs e)
{
IntPtr handle = (new WindowInteropHelper(this)).Handle;
bool s = SetWindowDisplayAffinity(handle, DisplayAffinity.Monitor);
MessageBox.Show(s.ToString());
}
Затем он вернет True, и этоОкно затемняется при создании снимка экрана.
Если вы поместите тот же код в конструктор после InitializeComponent();
, тогда он вернет False и окно не будет затемнено.
Обратите внимание, что (new WindowInteropHelper(this)).Handle
будет равно 0
, если окно не загружено и после загрузки оно будет иметь значение.