|
Закрытие приложения
|
|||
---|---|---|---|
#18+
Добрый день! Я реализую закрытие приложения через Код: c# 1. 2. 3. 4. 5. 6. 7. 8.
И все норм работает, за исключением кода программу закрывает другое приложение. В этот момент сообщение выскакивает два раза и что бы я не выбирал она закрывается. Так вот мне надо сделать так что бы если пользователь закрывает приложение спрашивало бы действие, а если стороннее приложение то тихо закрывалось без вопросов. ... |
|||
:
Нравится:
Не нравится:
|
|||
04.08.2014, 13:06 |
|
Закрытие приложения
|
|||
---|---|---|---|
#18+
Каким образом другое приложение закрывает ваше? ... |
|||
:
Нравится:
Не нравится:
|
|||
05.08.2014, 14:58 |
|
Закрытие приложения
|
|||
---|---|---|---|
#18+
Самому стало интересно :) В WinWofrms есть перечисление CloseReason, которое можно использовать в событиях OnClosing и OnClosed, поэтому проблем с определением причины закрытия нет. В WPF данное перечисление отсутствует, поэтому мы можем реализовать хук для уведомления WM_SYSCOMMAND. MSDN говорит нам следующее: A window receives this message when the user chooses a command from the Window menu (formerly known as the system or control menu) or when the user chooses the maximize button, minimize button, restore button, or close button. То есть нам достаточно ловить в хуке WM_SYSCOMMAND c wParm SC_CLOSE, чтобы определить, что именно пользователь закрывает наше окно. Далее код: Код: c# 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.
... |
|||
:
Нравится:
Не нравится:
|
|||
05.08.2014, 16:22 |
|
|
start [/forum/topic.php?fid=21&fpage=22&tid=1441071]: |
0ms |
get settings: |
9ms |
get forum list: |
13ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
37ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
37ms |
get tp. blocked users: |
2ms |
others: | 280ms |
total: | 401ms |
0 / 0 |