2012-05-28 2 views
3

Я хочу запустить приложение при закрытии/отключении подключения к удаленному рабочему столу. Есть ли способ сохранить учет времени запуска и остановки сеанса удаленного рабочего стола в winndows xp/win 7.Запуск s/w при закрытии подключения к удаленному рабочему столу

+0

Я до сих пор в поисках чего начать. –

+0

[Справочная служба служб удаленных рабочих столов] (http://msdn.microsoft.com/en-us/library/windows/desktop/aa383494 (v = vs.85) .aspx), предоставляемая WINAPI _should_, поможет вам. – hmjd

+2

Простой способ: следить за событиями Windows для входа/выхода из системы. В качестве альтернативной настройки оповещения в оснастке «Монитор производительности» он запустит приложение для вас. –

ответ

4

Вы можете написать службу Windows, и слушать SERVICE_CONTROL_SESSIONCHANGE. Одним из параметров этого события является состояние сеанса, которое в этом случае будет интересовать либо WTS_SESSION_LOGON/WTS_SESSION_LOGOFF, либо WTS_REMOTE_CONNECT/WTS_REMOTE_DISCONNECT в зависимости от ваших потребностей.

0

В начале подключения к удаленному рабочему столу вы можете попробовать это. Вот псевдо-код, что вы должны сделать:

  1. Java приложение (Слушатель), зарегистрированным в качестве службы Windows и работает по системе stratup.

  2. Приложение прослушивателя продолжает слушать, пока не откроется какой-либо файл .exe. (Здесь, в этом случае он будет mstsc.exe)

  3. Слушатель выполнить код (или вызвать другое приложение)

+0

mstsc - клиент RDP; Я предполагаю, что он говорит о стороне сервера. –

0

Вы можете запустить любую программу с помощью Task scheduler:

  • Когда компьютер переходит в состояние ожидания.
  • Когда система загружается.
  • Когда пользователь входит в систему.
  • Когда сеанс сервера терминалов изменяется.

Вы можете даже add tasks from command line