Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Компьютеры » Прикладное программирование » Embarcadero RAD Studio

Модерирует : ShIvADeSt

 Версия для печати • ПодписатьсяДобавить в закладки
На первую страницук этому сообщениюк последнему сообщению

Открыть новую тему     Написать ответ в эту тему

VadimLou



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Код:
 
function ForceForegroundWindow(const hWnd: THandle): Boolean;
var
  hCurWnd: THandle;
begin
  Result := False;
  if not isWindow(hWnd) then
    Exit;
  hCurWnd := GetForegroundWindow;
  if (hCurWnd = hWnd) then
  begin
    Result := True;
    Exit;
  end;
  if (GetWindowLong(hWnd, GWL_STYLE) and WS_MINIMIZE) <> 0 then
  begin
    if (GetWindowLong(hWnd, GWL_HWNDPARENT) = 0) and
      (IsWindowVisible(hWnd) or IsIconic(hWnd)) and // На WinXP появляется доп окно "GDI+ Window"
      ((GetWindowLong(hWnd, GWL_EXSTYLE) and (WS_EX_WINDOWEDGE or WS_EX_APPWINDOW)) <> 0) then
    ShowWindow(hWnd, SW_SHOWNOACTIVATE);
  end;
  AttachThreadInput(GetWindowThreadProcessId(hCurWnd, nil),
    GetCurrentThreadId, True);
  Application_ProcessMessages();
  SetForegroundWindow(hWnd);
  AttachThreadInput(GetWindowThreadProcessId(hCurWnd, nil),
    GetCurrentThreadId, False);
  Result := GetForegroundWindow = hWnd;
end;
 

Всего записей: 702 | Зарегистр. 22-07-2004 | Отправлено: 22:50 03-03-2018
Открыть новую тему     Написать ответ в эту тему

На первую страницук этому сообщениюк последнему сообщению

Компьютерный форум Ru.Board » Компьютеры » Прикладное программирование » Embarcadero RAD Studio


Реклама на форуме Ru.Board.

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.B0ard
© Ru.B0ard 2000-2024

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru