Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > [ "Начинающим" ]
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #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;
Ответить с цитированием
  #2  
Старый 02.12.2013, 14:09
Аватар для NumLock
NumLock NumLock вне форума
Let Me Show You
 
Регистрация: 30.04.2010
Адрес: Северодвинск
Сообщения: 5,426
Версия Delphi: 7, XE5
Репутация: 59586
По умолчанию

Код:
procedure BringToFront(AHandle: HWND);
var
  AThreadId: Cardinal;
  AProcessId: Cardinal;
begin
  AThreadId:=GetCurrentThreadId;
  AProcessId:=GetWindowThreadProcessId(GetForegroundWindow, nil);
  AttachThreadInput(AThreadId, AProcessId, True);
  ShowWindow(AHandle, SW_RESTORE);
  SetForegroundWindow(AHandle);
  AttachThreadInput(AThreadId, AProcessId, False);
end;
__________________
Пишу программы за еду.
__________________
Ответить с цитированием
  #3  
Старый 02.12.2013, 14:38
Кодер Кодер вне форума
Активный
 
Регистрация: 25.02.2008
Сообщения: 395
Репутация: -599
По умолчанию

Не помогло
Ответить с цитированием
  #4  
Старый 02.12.2013, 15:21
Аватар для NumLock
NumLock NumLock вне форума
Let Me Show You
 
Регистрация: 30.04.2010
Адрес: Северодвинск
Сообщения: 5,426
Версия Delphi: 7, XE5
Репутация: 59586
По умолчанию

это работает? http://zalil.ru/34833170
__________________
Пишу программы за еду.
__________________

Последний раз редактировалось NumLock, 02.12.2013 в 15:38.
Ответить с цитированием
  #5  
Старый 02.12.2013, 15:34
Кодер Кодер вне форума
Активный
 
Регистрация: 25.02.2008
Сообщения: 395
Репутация: -599
По умолчанию

А нельзя закинуть на нормальный файлообменник? А то мне не скачать.
Ответить с цитированием
  #6  
Старый 02.12.2013, 15:38
Аватар для NumLock
NumLock NumLock вне форума
Let Me Show You
 
Регистрация: 30.04.2010
Адрес: Северодвинск
Сообщения: 5,426
Версия Delphi: 7, XE5
Репутация: 59586
По умолчанию

http://zalil.ru/34833170
__________________
Пишу программы за еду.
__________________
Ответить с цитированием
Ответ


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра
Комбинированный вид Комбинированный вид

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 19:54.


 

Сайт

Форум

FAQ

Соглашения

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2025