![]() |
|
#1
|
|||
|
|||
![]() Уважаемые,
пытаюсь сделать: при попытке пользователя запустить второй экземпляр программы, отобразить первый, несмотря на его состояние (свернут, не активен..) получаю:результат успешен, однако после проведенных операций фигурирует баг. баг: после восстановления окна первого экземпляра не работает функция сворачивания окна. При этом закрыть окно и максимизировать его возможно. Код:
|
#2
|
||||
|
||||
![]() Код:
Пишу программы за еду. __________________ |
#3
|
|||
|
|||
![]() Не помогло
![]() |
#4
|
||||
|
||||
![]() это работает? http://zalil.ru/34833170
Пишу программы за еду. __________________ Последний раз редактировалось NumLock, 02.12.2013 в 15:38. |
#5
|
|||
|
|||
![]() А нельзя закинуть на нормальный файлообменник? А то мне не скачать.
|
#6
|
||||
|
||||
![]() Пишу программы за еду. __________________ |
#7
|
|||
|
|||
![]() Программа запускается (DownloaderLite.exe). В ней всё прекрасно работает.
|
#8
|
||||
|
||||
![]() Мое мнение - все дело в параметре sw_showmaximized в ShowWindow. Используй вместо него sw_Restore или т.п. Наверное, система просто показывает окно, не давая себе отчет, что оно развернутое, считая его и дальше свернутым.
|
#9
|
|||
|
|||
![]() По вышеуказанному примеру NumLock'a выполнял SW_RESTORE, однако изменений не заметил.
|
#10
|
||||
|
||||
![]() А так?
Код:
Последний раз редактировалось YVitaliy, 02.12.2013 в 16:39. |
#11
|
||||
|
||||
![]() на самом деле все зависит от версии Delphi. либо от VCL или API.
Пишу программы за еду. __________________ |
#12
|
|||
|
|||
![]() У меня вот такой код работает, вроде, стабильно:
Код:
TrayIcon - это, на самом деле, TCoolTrayIcon. Собственно, там есть только одна закавыка. Под Vista и 7 надо что бы второй экземпляр отдал разрешение на всплытие окна другого процесса, иначе операционка откажется его активировать. |
#13
|
||||
|
||||
![]() Такой глюк возникает из-за того, что в ShowWindow нужно указывать хэндл не "главной" формы, а главного окна, т.е. Application.
У себя я делал проще - создавал собственное сообщение - примерно так: Код:
тогда в файле проекта будет примерно так: Код:
|
#14
|
||||
|
||||
![]() Вариантов существует множество, я использую Mutex.
Je venus de nulle part 55.026263 с.ш., 73.397636 в.д. |
#15
|
||||
|
||||
![]() Присоединяюсь к варианту poli-smen, много раз делал при помощи обработки Message - всё работало прекрасно.
P.S. Рекламу из подписи таки стоит убрать, ибо Цитата:
Оставайтесь хорошими людьми... VK id2634397, ds [at] phoenix [dot] dj Последний раз редактировалось PhoeniX, 03.12.2013 в 00:07. |