![]() |
|
|
#1
|
|||
|
|||
![]() Уважаемые,
пытаюсь сделать: при попытке пользователя запустить второй экземпляр программы, отобразить первый, несмотря на его состояние (свернут, не активен..) получаю:результат успешен, однако после проведенных операций фигурирует баг. баг: после восстановления окна первого экземпляра не работает функция сворачивания окна. При этом закрыть окно и максимизировать его возможно. Код:
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
|
||||
|
||||
![]() Код:
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
|
|||
|
|||
![]() Не помогло
![]() |
#4
|
||||
|
||||
![]() это работает? http://zalil.ru/34833170
Пишу программы за еду. __________________ Последний раз редактировалось NumLock, 02.12.2013 в 15:38. |
#5
|
|||
|
|||
![]() А нельзя закинуть на нормальный файлообменник? А то мне не скачать.
|
#6
|
||||
|
||||
![]() Пишу программы за еду. __________________ |