Как я могу запустить свое приложение, когда сеанс Windows отключен? - PullRequest
0 голосов
/ 16 ноября 2011

Я сделал простое приложение на C # и WHITE, которое нажимает кнопку, чтобы очистить логи. Я использую для подключения к моей тестовой машине с помощью подключения к удаленному рабочему столу и запуска этого приложения. Он отлично работает, когда мой сеанс подключен, но всякий раз, когда я отключаю сеанс, он перестает работать.

Есть ли способ выполнить это приложение, когда сеанс Windows отключен?

Ответы [ 4 ]

2 голосов
/ 16 ноября 2011

Вы можете написать Служба Windows .

1 голос
/ 16 ноября 2011

Вы также можете использовать планировщик задач . Вам может не понадобиться оболочка C #, вы можете добавить себе нужную запись в планировщике.

0 голосов
/ 05 января 2018

Взято из https://www.ranorex.com/help/latest/ranorex-remote/remote-faq#c13444

Создайте пакетный файл на удаленном компьютере и вставьте следующий код:

for /f "skip=1 tokens=3 usebackq" %%s in (
  `query user %username%`
) do (
 %windir%\System32\tscon.exe %%s /dest:console
)

Сохраните этот пакетный файл на рабочем столе вашего удаленного компьютера и введите имяэто: 'KeepSessionOpen.bat'.Если вам необходимо отключить сеанс RDP, теперь вы можете просто запустить этот пакетный файл с правами администратора, и ваша удаленная машина останется разблокированной.

0 голосов
/ 17 ноября 2011

Он отлично работает, когда моя сессия подключена, но всякий раз, когда я отключаю сессию, он перестает работать.

Это по замыслу. Когда вы отключаете сеанс, он блокируется. Когда сеанс заблокирован, автоматизация пользовательского интерфейса не будет работать.

Вы можете обойти это, не блокируя сеанс, возможно, с помощью различных инструментов удаленного рабочего стола (VNC / PcAnywhere). Но это определенно хак.

Вместо этого я предлагаю другой подход. Я рекомендую избегать автоматизации пользовательского интерфейса, когда это возможно. Я всегда находил автоматизацию пользовательского интерфейса ненадежной и ненадежной.

В комментариях к вашему вопросу вы сказали, что ваше приложение - просто автоматизация пользовательского интерфейса, чтобы нажать кнопку, чтобы очистить журнал. Журналы создаются приложением DebugView.

Я предлагаю вам вместо этого войти в файл. Эта функция упоминается на веб-сайте для DebugView:

http://technet.microsoft.com/en-us/sysinternals/bb896647

Вы также можете использовать удаленный мониторинг.

Если размер имеет значение, вы также можете воспользоваться функциями «Завершение файла журнала» и «Ролловер файла журнала».

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...