|
Как сделать чтоб иконка запущеного приложения VFP не показывалась на панели задач
|
|||
---|---|---|---|
#18+
Есть откомпилированное в VFP exe приложение (пустая невидимая форма ), можно ли при запуске этого приложения, чтоб его вообще не было видно, кроме как процесса в диспетчере задач? ... |
|||
:
Нравится:
Не нравится:
|
|||
16.10.2014, 09:00 |
|
Как сделать чтоб иконка запущеного приложения VFP не показывалась на панели задач
|
|||
---|---|---|---|
#18+
попробуй Код: sql 1.
или в config.fpw добавить Код: sql 1.
... |
|||
:
Нравится:
Не нравится:
|
|||
16.10.2014, 09:12 |
|
Как сделать чтоб иконка запущеного приложения VFP не показывалась на панели задач
|
|||
---|---|---|---|
#18+
спасибо, точно не видно...:-), а не подскажите может можно как-нибудь перехватить, событие, что пользователь выбрал в меню Пуск завершение работы ... |
|||
:
Нравится:
Не нравится:
|
|||
16.10.2014, 16:08 |
|
Как сделать чтоб иконка запущеного приложения VFP не показывалась на панели задач
|
|||
---|---|---|---|
#18+
т.е. какой-то таймер в эту форму и перехватить это событие "Завершение работы" ... |
|||
:
Нравится:
Не нравится:
|
|||
16.10.2014, 16:11 |
|
Как сделать чтоб иконка запущеного приложения VFP не показывалась на панели задач
|
|||
---|---|---|---|
#18+
Код: sql 1.
При нажатии крестика будет вызвана my_shutdown.prg Добейся чтобы твоя прога по нажатию крестика закрывалась без лишних вопросов. Видовс при завершении посылает программе "нажатие крестика", немного ждет, если не дождался убивает процесс (равносильно снять задачу из диспетчера) в простейшем случае my_shutdown.prg будет такой так Код: sql 1. 2.
... |
|||
:
Нравится:
Не нравится:
|
|||
16.10.2014, 16:16 |
|
Как сделать чтоб иконка запущеного приложения VFP не показывалась на панели задач
|
|||
---|---|---|---|
#18+
q1w1e1т.е. какой-то таймер в эту форму и перехватить это событие "Завершение работы"Не надо изобретать велосипед, тем более не с круглыми колесами. Откройте для себя On shutdown. При этом и простое закрытие программы "крестиком" отловится. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.10.2014, 16:17 |
|
Как сделать чтоб иконка запущеного приложения VFP не показывалась на панели задач
|
|||
---|---|---|---|
#18+
Спасибо, поигрался с on shutdown, но проблему не решил... программа простая тестовая ON SHUTDOWN do shtd _screen.visible = .F. DO FORM form1 READ EVENTS RETURN PROCEDURE shtd CLEAR WINDOW messagebox("11111111111") quit Форма пустая, там ничего нет(visible = .T. или .F.), в общем если visible = .T., то форма видна, и на мониторе, и диспетчере задач при любом выходе из VFP, Win(Пуск->Завершение работы), выполняется код из процедуры, но если visible = .F., формы нигде не видно, виден только процесс VFP в диспетчере задач и нажимая Пуск->Завершение работы, код из процедуры не выполняется и выполняется сессия завершение работы .... Есть еще варианты? ... |
|||
:
Нравится:
Не нравится:
|
|||
17.10.2014, 17:47 |
|
Как сделать чтоб иконка запущеного приложения VFP не показывалась на панели задач
|
|||
---|---|---|---|
#18+
q1w1e1Спасибо, поигрался с on shutdown, но проблему не решил... программа простая тестовая ON SHUTDOWN do shtd _screen.visible = .F. DO FORM form1 READ EVENTS RETURN PROCEDURE shtd CLEAR WINDOW messagebox("11111111111") quit Форма пустая, там ничего нет(visible = .T. или .F.), в общем если visible = .T., то форма видна, и на мониторе, и диспетчере задач при любом выходе из VFP, Win(Пуск->Завершение работы), выполняется код из процедуры, но если visible = .F., формы нигде не видно, виден только процесс VFP в диспетчере задач и нажимая Пуск->Завершение работы, код из процедуры не выполняется и выполняется сессия завершение работы .... Есть еще варианты?Есть. Подумать и сделать нормально. В частности, завершить таки цикл обработки событий. А не надеяться на один только quit. ... |
|||
:
Нравится:
Не нравится:
|
|||
17.10.2014, 18:07 |
|
Как сделать чтоб иконка запущеного приложения VFP не показывалась на панели задач
|
|||
---|---|---|---|
#18+
ты видел что я написал? Первой строчкой надо отменить вызов обработчика, т.е. Код: sql 1.
затем убери _screen.visible = .F. и пробуй закрывать свою прогу крестиком, смотри что происходит. Закрывается? ... |
|||
:
Нравится:
Не нравится:
|
|||
17.10.2014, 21:36 |
|
Как сделать чтоб иконка запущеного приложения VFP не показывалась на панели задач
|
|||
---|---|---|---|
#18+
Спасибо... время от времени пытаюсь что-то сделать... всё таки наверное главный вопрос, как отменить системный процесс завершения работы... т.к. все равно выходит системное окошко ожидания отклика от программы, может какая есть системная функция WSH, чтоб убить этот процесс, хотя надо знать какой это процесс..:-( ... |
|||
:
Нравится:
Не нравится:
|
|||
21.10.2014, 09:38 |
|
Как сделать чтоб иконка запущеного приложения VFP не показывалась на панели задач
|
|||
---|---|---|---|
#18+
on shutdown добавил в shtd ? и вместо quit лучше clear events чтобы твоя прога завершилась как положено. форма не модальная? Учти что destroy() формы будет отрабатывать самый последний. и мессаджбокс замени на запись в лог Попробуй так Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14.
Вобщем пиши логи и смотри что реально происходит и в каком порядке. ... |
|||
:
Нравится:
Не нравится:
|
|||
21.10.2014, 10:44 |
|
Как сделать чтоб иконка запущеного приложения VFP не показывалась на панели задач
|
|||
---|---|---|---|
#18+
спасибо, да все работает, только надо куда-то как-то впихать команды WM_QUERYENDSESSION и WM_ENDSESSION, чтоб убить процесс выключения, а то выскакивает виндовское окно, что система ожидает завершения програмыы, нажмите Ok или отменить... ... |
|||
:
Нравится:
Не нравится:
|
|||
21.10.2014, 12:22 |
|
Как сделать чтоб иконка запущеного приложения VFP не показывалась на панели задач
|
|||
---|---|---|---|
#18+
Потестил на XP. Делал "выход из системы". Окошко ожидания не вышло, но странно себя ведет: Прога останавливается, сессия не закрывается. Второй выход завершает сессию. Заменил clear events на quit - стало закрываться с первого раза. Но такое решение не самое лучшее. WM_QUERYENDSESSION принять можно с помощью bindevent() но там еще ответить надо на него. Сейчас попробую пример сделать. ... |
|||
:
Нравится:
Не нравится:
|
|||
21.10.2014, 12:48 |
|
Как сделать чтоб иконка запущеного приложения VFP не показывалась на панели задач
|
|||
---|---|---|---|
#18+
Почитал про WM_QUERYENDSESSION, на даст оно остановить выключение. Я так понимаю это доп.оповещение проги что ее скоро насильно убьют. http://yvs-it.blogspot.ru/2010/05/windows-shutdown.html В Windows XP диалог для блокирующего приложения позволяет пользователям отменить выключение или принудительно завершить "зависшее" приложение. И такой диалого отображается для каждого "зависшего" приложения. Это не очень удобно для многих пользователей, которые "просто хотят, чтобы из компьютер выключился". При выключении компьютера, Windows VistaVista/7 решает эту проблему, разрешая пользователям завершить все приложения, блокирующие выключение ("силовой" shutdown). В таком варианте, Windows будет отправлять приложениям сообщение WM_QUERYENDSESSION с флагом ENDSESSION_FORCEFULSHUTDOWN. Если приложение ответит FALSE, система продолжит завершение работы, вместо того, чтобы отметить его и отправит сообщение WM_ENDSESSION. Если же приложение не ответить на сообщение WM_QUERYENDSESSION/WM_ENDSESSION за отведенный ему таймаут, Windows принудительно завершить его. т.е. толку от них немного. Принять их можно, но без CLEAR EVENTS Вот пример Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43.
Думаю у тебя есть какой-то косяк в проге и он завешивает её при завершении. Попробуй мой пример из аттача откомпилировать и позакрывать с ним ... |
|||
:
Нравится:
Не нравится:
|
|||
21.10.2014, 15:46 |
|
|
start [/forum/topic.php?fid=41&fpage=28&tid=1582507]: |
0ms |
get settings: |
8ms |
get forum list: |
15ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
63ms |
get topic data: |
11ms |
get forum data: |
2ms |
get page messages: |
45ms |
get tp. blocked users: |
2ms |
others: | 335ms |
total: | 487ms |
0 / 0 |