Функция Windows API FindWindow всегда возвращает 0, когда exe выполняется в функции PHP exec () - PullRequest
0 голосов
/ 16 июня 2011

Я создал приложение для командной строки для выполнения некоторых задач на сервере. Например, он «отслеживает» окно и отправляет ему ключи. Я использую функцию Windows API findWindow (), чтобы найти окно. Когда я запускаю exe из командной строки, он работает отлично, кроме случаев, когда я запускаю его из PHP с помощью функции exec (). Функция FindWindow, возвращающая всегда 0 (она не может найти дескриптор окна), почему? Это работает в песочнице или что-то?

Что я могу с этим сделать? Кто-нибудь? * * 1003

Спасибо за ваш ответ.

С уважением, Эрвин Хаантес

1 Ответ

1 голос
/ 16 июня 2011

Сервисы не имеют возможности находить окна в пользовательском сеансе переднего плана. Это называется сессия 0 изоляции .

PHP работает под веб-сервером, который (обычно) работает как служба, в определенном сеансе / контексте. Из-за этого ваша функция findWindows () не будет работать.

Вы можете проверить эту теорию, вызвав PHP.exe для запуска вашего скрипта из командной строки вашего собственного сеанса.

...