Автор | Сообщение |
|
| |
Пост N: 508
Зарегистрирован: 17.06.10
|
|
Отправлено: 28.05.17 12:08. Заголовок: Уровень закрытия программы
В MSDN написано, что через SetProcessShutdownParameters можно установить уровень опроса списка процессов при закрытии их системой (ну там Диспетчер задач - 1, Explorer - 2) Можно ли процессам своих задач назначать уровни до FF ? Как получить текущий уровень закрытия своего процесса ?
|
|
|
Ответов - 9
[только новые]
|
|
|
| постоянный участник
|
Пост N: 1480
Зарегистрирован: 09.10.06
|
|
Отправлено: 28.05.17 17:39. Заголовок: fil пишет: Можно ли..
fil пишет: цитата: | Можно ли процессам своих задач назначать уровни до FF ? Как получить текущий уровень закрытия своего процесса ? |
| 1) Можно, с учетом примечания (Remarks); 2) GetProcessShutdownParameters
|
|
|
|
| |
Пост N: 509
Зарегистрирован: 17.06.10
|
|
Отправлено: 28.05.17 18:14. Заголовок: 1. Что значит с учет..
1. Что значит цитата: | с учетом примечания (Remarks) |
| Номер приоритета должен быть уникальным или нет ? 2. Типа так - GetProcessShutdownParameters (@p1, @P2) ?
|
|
|
|
| постоянный участник
|
Пост N: 1311
Зарегистрирован: 27.01.07
|
|
Отправлено: 28.05.17 18:17. Заголовок: fil пишет: 1. Что з..
fil пишет: цитата: | 1. Что значит цитата: с учетом примечания (Remarks) |
| Remarks Applications running in the system security context do not get shut down by the operating system. They get notified of shutdown or logoff through the callback function installable via SetConsoleCtrlHandler. They also get notified in the order specified by the dwLevel parameter.
|
|
|
|
| постоянный участник
|
Пост N: 1481
Зарегистрирован: 09.10.06
|
|
Отправлено: 28.05.17 19:38. Заголовок: fil пишет: Номер пр..
fil пишет: цитата: | Номер приоритета должен быть уникальным или нет ? |
| Поскольку msdn об этом ничего не говорит, то скорее всего нет. Но не видя исходники функции, можно лишь догадываться, что там произойдет и как будут учитываться пожелания быть первым или последним. PSP пишет: цитата: | Remarks Applications running in the system security context do not get shut down by the operating system. They get notified of shutdown or logoff through the callback function installable via SetConsoleCtrlHandler. They also get notified in the order specified by the dwLevel parameter. |
| Ага. fil пишет: цитата: | 2. Типа так - GetProcessShutdownParameters (@p1, @P2) ? |
| В теории так, опять же не видя реализации функции-переходника GetProcessShutdownParameters, что-то утверждать - неблагодарное занятие.
|
|
|
|
| |
Пост N: 510
Зарегистрирован: 17.06.10
|
|
Отправлено: 28.05.17 23:12. Заголовок: Петр, PSP благодарю..
Петр, PSP благодарю. Будем посмотреть
|
|
|
|
| |
Пост N: 511
Зарегистрирован: 17.06.10
|
|
Отправлено: 29.05.17 14:35. Заголовок: Выяснилась любопытна..
Выяснилась любопытная штука - ежели сделать в своей проге SetConsoleCtrlHandler(1,1), то при перезагрузке компа (прога открыта) кнопки с предложением о Принудительном закытии оной не появляется. Однако ежели эта прога живет в трее, предложением о Принудительном закытии обязательно появится. В инете ничего похожего не нашел
|
|
|
|
| постоянный участник
|
Пост N: 1486
Зарегистрирован: 09.10.06
|
|
Отправлено: 29.05.17 15:23. Заголовок: fil пишет: SetConso..
fil пишет: Эту функцию мы используем для консольных программ, для GUI - нужно обрабатывать WM_QUERYENDSESSION / WM_ENDSESSION. Там (в описании WM_QUERYENDSESSION) и ищите ответы на свои вопросы (опять Remarks читать придется ).
|
|
|
|
| |
Пост N: 512
Зарегистрирован: 17.06.10
|
|
Отправлено: 29.05.17 16:18. Заголовок: Извиняюсь, конечно ж..
Извиняюсь, конечно же SetProcessShutdownParameters, а не SetConsoleCtrlHandler. Это я описался. С первой попытки перезагрузки компа закрывается Tray, а со второй попытки уже без вопросов комп перезагпужается. Видимо все-рвно придется WM_QUERYENDSESSION / WM_ENDSESSION обрабатывать. А как поймать это сообщение - типа листнера что-то писать
|
|
|
|
| постоянный участник
|
Пост N: 1487
Зарегистрирован: 09.10.06
|
|
Отправлено: 29.05.17 17:03. Заголовок: fil пишет: как пойм..
fil пишет: цитата: | как поймать это сообщение - типа листнера что-то писать |
| Что-то в этом роде, В FW не знаю, а в MiniGUI set events func to рулит.
|
|
|
|