Как заставить окно потерять фокус?

Тема в разделе "WASM.WIN32", создана пользователем _Juicy, 5 окт 2011.

  1. _Juicy

    _Juicy Active Member

    Публикаций:
    0
    Регистрация:
    12 авг 2003
    Сообщения:
    1.159
    Адрес:
    SPb
    Нужно сделать окно неактивным. Желательно, не сворачивая его и не поднимая на передний план другие. Заранее спасибо за советы.
     
  2. x64

    x64 New Member

    Публикаций:
    0
    Регистрация:
    29 июл 2008
    Сообщения:
    1.370
    Адрес:
    Россия
    Например, так?
    Код (Text):
    1. SetFocus (GetDesktopWindow ());
    Правда, это может не сработать в виду
    Или попробовать сделать SendInput() мышкой на какое-нибудь другое окно.
     
  3. _Juicy

    _Juicy Active Member

    Публикаций:
    0
    Регистрация:
    12 авг 2003
    Сообщения:
    1.159
    Адрес:
    SPb
    Заработало в таком виде
    Код (Text):
    1.         SendMessage (hwnd, WM_ACTIVATE, 0,0);
    2.         SendMessage (hwnd, WM_ACTIVATEAPP, 0,0);
    (нужно вобщем-то не столько потерять фокус, сколько заставить окно поверить, что оно его потеряло)
    Так что... всем спасибо.
     
  4. shchetinin

    shchetinin Member

    Публикаций:
    0
    Регистрация:
    27 май 2011
    Сообщения:
    715
    SetForegroundWindow(NULL);
     
  5. _Juicy

    _Juicy Active Member

    Публикаций:
    0
    Регистрация:
    12 авг 2003
    Сообщения:
    1.159
    Адрес:
    SPb
    Даже так? Странно, но интересно, спасибо.