У меня есть несколько приложений, которые являются частью набора инструментов, которые используют различные разработчики в нашей студии. Эти приложения в основном являются приложениями командной строки, которые открывают командную оболочку DOS. Эти приложения, в свою очередь, запускают приложение с графическим интерфейсом, которое отслеживает вывод и состояние (через сокеты) этих приложений командной строки.
Приложения командной строки могут запускаться, когда пользователь вошел в систему, когда его рабочая станция заблокирована (они запускают пакетный файл, а затем сразу же блокируют свою рабочую станцию), и когда они вышли из системы (с помощью запланированной задачи). У меня проблемы с двумя последними случаями.
Если какое-либо из этих приложений сработает, когда пользователь заблокирован или вышел из системы, эти команды вызовут окна графического интерфейса, которые отслеживают вывод / состояние. Это нормально, но, скажем, пользователь заблокировал свою рабочую станцию - когда он разблокирует свою рабочую станцию, графический интерфейс не отображается. Запущен список задач, но он не виден. В следующий раз, когда эти пользователи запустят некоторые из наших приложений командной строки, графический интерфейс не будет запущен (потому что он уже запущен), но поскольку он не виден на рабочем столе, пользователи не видят никакого вывода.
То, что я ищу, - это способ узнать из приложений командной строки, работают ли они за заблокированной рабочей станцией или когда пользователь вышел из системы (с помощью запланированной задачи) - в основном они работают без видимого рабочего стола пользователя. , Если я могу сказать это, то я просто не могу запустить наш графический интерфейс и могу предотвратить много проблем.
Эти приложения, которые мне нужно протестировать, являются приложениями C / C ++ для Windows.
Я надеюсь, что это имеет смысл.