Показать сообщение отдельно
  #1  
Старый 02.12.2013, 13:46
Кодер Кодер вне форума
Активный
 
Регистрация: 25.02.2008
Сообщения: 395
Репутация: -599
По умолчанию Вниманию Гуру

Уважаемые,

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

получаю:результат успешен, однако после проведенных операций фигурирует баг.

баг: после восстановления окна первого экземпляра не работает функция сворачивания окна. При этом закрыть окно и максимизировать его возможно.

Код:
h :=  FindWindow('TfrmMain','%form_title%');

    if h <> 0 then
       begin

       //если окно не отображено на экране
       //то максимизировать его
       if not IsWindowVisible(h) then
          ShowWindow(h,sw_showmaximized);

       //выставляем окно на передний план          
          SetForeGroundWindow(h);
       end
    else
       begin
       Application.Initialize;
       ...
       Application.Run;
       end;
Ответить с цитированием