Как из FoxPro развернуть приложение свернутое в системный трей | |
---|---|
ZenTigra Сообщений: 500 Дата регистрации: 03.12.2004 |
Задача била в необходимости предотвращения повторного запуск программы, которая висит в systray,
С ней я справился, все работает. Но для пользователя не удобно, он жмет на ярлык, программа ругается и закрывается... и все, нужно еще нажать на значок в systray-е. Вот теперь ломаю голову, как активировать свернутую программу? ![]() |
Re: Как из FoxPro развернуть приложение свернутое в системный трей | |
---|---|
Аспид Сообщений: 3475 Откуда: Москва Дата регистрации: 01.04.2005 |
Выдрал, даже не помню что где)
![]() |
Re: Как из FoxPro развернуть приложение свернутое в системный трей | |
---|---|
Alsim Сообщений: 3627 Откуда: Екатеринбург Дата регистрации: 17.11.2004 |
Закрепить ярлык "на панели задач" + конечно отвергать повторный запуск. На Win7 и Win10 работает. спасибо, попробую ![]() ![]() |
Re: Как из FoxPro развернуть приложение свернутое в системный трей | |
---|---|
Ydin Сообщений: 7639 Откуда: Киев Дата регистрации: 16.12.2005 |
У меня это есть. Но написать тут не легко. Попытаюсь
Цитата: Это ключевая ф-я, она работает. Но лет 20 назад написана и не помню деталей Теперь, где она вызывается. На старте запуска lcMagicWord=CURDIR() IF RIGHT(lcMagicWord,1)='\' lcMagicWord = LEFT(lcMagicWord,LEN(lcMagicWord)-1) ENDIF ... lnPos=RAT('\',lcMagicWord) IF lnPos>0 lcMagicWord=SUBSTR(lcMagicWord,lnPos+1) ENDIF lcMagicWord=StrToLong(CHRTRAN(lcMagicWord,'\','')) llQuit=.F. DO CASE CASE lnInstances='0' llQuit= FindInstance(lcMagicWord) CASE lnInstances='1' AND FindInstance(lcMagicWord,.T.) lcMess = 'Запустить еще один экземпляр приложения?' llQuit = warn(lcMess,,30,2,2)=2 && Это вопрос 1-да, 2-нет IF llQuit = .T. =FindInstance(lcMagicWord) ENDIF ENDCASE Чувствую, что может не понятно... У меня на запуске приложения (Exe) может передаваться параметр (или не передаваться и тогда он "0") Это сколько экземпляров допустимо Сейчас устал. Попробуйте, но это у меня работает лет 20. Сложно тут, я кусками вытаскивал ![]() |
Re: Как из FoxPro развернуть приложение свернутое в системный трей | |
---|---|
Каратаев Сообщений: 3914 Откуда: Алматы Дата регистрации: 04.12.2001 |
На уровне класса реализовано так:
Метод класса Isrun
------------------ Никогда не бывает настолько плохо, чтобы не могло быть еще хуже. ![]() |
Re: Как из FoxPro развернуть приложение свернутое в системный трей | |
---|---|
ZenTigra Сообщений: 500 Дата регистрации: 03.12.2004 |
Этой теме уже больше 4 лети, тогда я не смог решить эту проблему,
я вновь к ней вернулся, помогите, пожалуйста, никак не могу ее решить. Уже реализовано, запрет на повторный запуск программы, и активация уже запущенной программы, которая висит в системной трее, Окно активируеться, но оно прозрачное, контролы прорисовываються только при попадании в них курсора. Когда окно свернутое, все окей, програма активирується, из системного трея - нет, возможно из-за того, что при сворачивании я ставлю _Screen.Visible=.F.
![]() |
Re: Как из FoxPro развернуть приложение свернутое в системный трей | |
---|---|
ZenTigra Сообщений: 500 Дата регистрации: 03.12.2004 |
Исправлено 1 раз(а). Последнее : ZenTigra, 01.03.23 17:07 ![]() |
Re: Как из FoxPro развернуть приложение свернутое в системный трей | |
---|---|
_vit Автор Сообщений: 5116 Дата регистрации: 29.07.2002 |
Попробуй послать окну WM_SYSCOMMAND, SC_RESTORE
Исправлено 1 раз(а). Последнее : _vit, 05.03.23 11:17 ![]() |
© 2000-2023 Fox Club  |