Я хочу запустить приложение при закрытии/отключении подключения к удаленному рабочему столу. Есть ли способ сохранить учет времени запуска и остановки сеанса удаленного рабочего стола в winndows xp/win 7.Запуск s/w при закрытии подключения к удаленному рабочему столу
ответ
Вы можете написать службу Windows, и слушать SERVICE_CONTROL_SESSIONCHANGE. Одним из параметров этого события является состояние сеанса, которое в этом случае будет интересовать либо WTS_SESSION_LOGON/WTS_SESSION_LOGOFF, либо WTS_REMOTE_CONNECT/WTS_REMOTE_DISCONNECT в зависимости от ваших потребностей.
В начале подключения к удаленному рабочему столу вы можете попробовать это. Вот псевдо-код, что вы должны сделать:
Java приложение (Слушатель), зарегистрированным в качестве службы Windows и работает по системе stratup.
Приложение прослушивателя продолжает слушать, пока не откроется какой-либо файл .exe. (Здесь, в этом случае он будет mstsc.exe)
Слушатель выполнить код (или вызвать другое приложение)
mstsc - клиент RDP; Я предполагаю, что он говорит о стороне сервера. –
Вы можете запустить любую программу с помощью Task scheduler:
- Когда компьютер переходит в состояние ожидания.
- Когда система загружается.
- Когда пользователь входит в систему.
- Когда сеанс сервера терминалов изменяется.
Вы можете даже add tasks from command line
Я до сих пор в поисках чего начать. –
[Справочная служба служб удаленных рабочих столов] (http://msdn.microsoft.com/en-us/library/windows/desktop/aa383494 (v = vs.85) .aspx), предоставляемая WINAPI _should_, поможет вам. – hmjd
Простой способ: следить за событиями Windows для входа/выхода из системы. В качестве альтернативной настройки оповещения в оснастке «Монитор производительности» он запустит приложение для вас. –