Что нового

управление окном приложения которое запущено другим юзером

Vaal

Новичок
Сообщения
9
Репутация
0
сделал скрипт(ехе) задача которого нажимать кнопки в окне приложения, и выбирать в списке(по типу списка диспетчера задач) указанные строки, сохранять инфу из окна в файл
что делать при запуск определяется параметрами запуска

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

на системе где апач запущен от SYSTEM, а приложение от моего юзера, этот скрипт(ехе) запускается, но не выдает инфы видимо из-за того что он запускается от имени SYSTEM и просто не видит окно приложения

сделал еще один скрипт(ехе), который запускает первый от того же юзера, от которого запущено приложение
судя по диспетчеру задач он действительно стал запускаться от того же юзера что и приложение, но взять инфу из окна, или нажать кнопку так и не смог - при запуске через веб-панель
 

dwerf

Использует ArchLinux
Сообщения
478
Репутация
218
мда, много букв, а смысл неуловим.

короче, как я понял:

есть приложение

есть скрипт, который должен управлять приложением

приложение запускается пользователем

скрипт запускается системой

скрипт не видит приложение, потому что они запущены разными пользователями


Спонтанно в голову пришли такие варианты:

запустить приложение системой (через апач или как службу...)

запустить скрипт пользователем (например поставить апач в AutoRun к пользователю)

запустить вместе с приложением скрипт1, который бы мог управлять приложением, от имени пользователя
запустить скрипт2, который бы управлял скриптом1 через Tcp или NamedPipes, от имени системы
 
Автор
V

Vaal

Новичок
Сообщения
9
Репутация
0
сорри за сумбур
запустить приложение системой (через апач или как службу...)
тогда зайдя через удаленный рабочий стол я не увижу гуи приложения
это крайний вариант
запустить скрипт пользователем (например поставить апач в AutoRun к пользователю)
сделал так
Код:
RunAs ( 'user', @Computername, 'pass', 1, @ScriptDir & '\dscontrol.exe' )

апач запускает скрипт autoit - который запускает нужный мне скрипт от имени моего юзера(т.е. тот же кто запустил приложение)
но это не помогло - т.е. в диспетчере задач я видел что скрипт запущен от нужного имени, но окно он по прежнем не видел
запустить вместе с приложением скрипт1, который бы мог управлять приложением, от имени пользователя
запустить скрипт2, который бы управлял скриптом1 через Tcp или NamedPipes, от имени системы
в автоит второй день ковыряюсь и это честно говоря сложновато пока
есть примеры?
 

dwerf

Использует ArchLinux
Сообщения
478
Репутация
218
Код:
RunAs ( 'user', @Computername, 'pass', 1, @ScriptDir & '\dscontrol.exe' )

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

Конкретно для такой задачи не видел.
В мануале посмотрите примеры от TcpSend и TcpRecv.
Там чтото типа небольшого чата сделано.
 
Автор
V

Vaal

Новичок
Сообщения
9
Репутация
0
спасибо за наводку, с сетью не стал связываться
решил разбив на два скрипта
апач дергает скрипт1, скрипт1 сохранят параметр запуска в файл
скрипт2 висит процессах(запущен тем же пользователем что и приложение), и ждет когда появится процесс скрипта1
как появился он читает файл и отрабатывает в зависимости от команды указанной в файле


Добавлено:
Сообщение автоматически объединено:

поспешил я, видимо проблема вообще в другом крылась
пока я слежу за скриптом через удаленный рабочий стол - все работает
но как только выключаю удаленку, сркипт перестает работать

т.е. если я не залоген, винда не рисует гуи, и окна просто нет
полагаю можно не пробовать запустить и скрипт и приложение от system т.к. там точно никакого гуи нет
 
Верх