Вниз
Скачать: CL | DM;

Задача взаимодействия различных программных модулей системы...   Найти похожие ветки 

 
Makhanev Alexander   (2007-02-15 20:50) [0]

Есть 1 комп.
Он может быть как terminal"кой, так и обычным пк.

На нём я должен запускать под каждым залогиненным юзером свой процесс.

Этот процесс должен иметь права записи в некую папку.

Еще есть служба, которая мониторит эту(и) папку(и) и что-то делает с её файлами.

Процессов может быть много.

А желательно чтоб общая папка (куда что-то пишут процессы) была одна (напр. app data\all users\..).

Пока есть 2 варианта решения со своими плюсами и минусами:

Вариант1:
- процесс запускается под system. его запускает служба. служба ловит logon event (dll"ка, зареганная в винлогон секции реестра) и запускает процесс под сессией юзера.

Плюс:
-процесс имеет права на записи в общую папку

Минус:
-неясно как стартовать процесс под учеткой юзера. Т.е. в случае с terminal"кой надо ж понимать под которым юзером запустится процесс...
-logon event будет ловиться только после перезагрузки компа (что с терминалкой фигово)

Вариант2:
- процесс запускается под юзером. его запускает винда из Run"а реестра.

Плюс:
- всё ясно с запуском

Минус:
- ниче не ясно с тем, куда писать файлы, (юзер не локал админ). Если пишем в свою app data, то службе придется неудобно бегать по всем app dataм и собирать файло.

И еще:
-хотелось бы иметь возможность запуска процессов из службы "на лету", чтоб не надо было перелогиниваться...  реально?
-было б круто, если б можно было объеднить процессы в одну службу. но специфика процесса такова, что он работает с окнами каждого юзера. такое реально из службы (видеть все окна всех юзеров и т.п.) ?


 
Makhanev Alexander   (2007-02-15 21:14) [1]

вспомнил что в Documents and Settings\All Users\Application Data\ выставлены особые разрешения и дюбой юзер может туда писать файло, но не править чужое.

это в принципе вполне устраивает.

НО - вопрос про запуск "на лету" и про единую службу не снят.

Реально ли вообще сделать такую службу, которая б, например, понимала getforegroundwindow для каждого юзера ?

Т.е. у меня на терминалке 10 юзеров и 1 служба может сказать какое окно активно у каждого из них.



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.45 MB
Время: 0.028 c
15-1173765400
SerJaNT
2007-03-13 08:56
2007.04.08
phpMySQLAdmin


2-1174455382
User_OKA
2007-03-21 08:36
2007.04.08
Алгоритм


2-1174018141
ANikolay
2007-03-16 07:09
2007.04.08
Недоступно значение переменной!....


1-1171348947
Damager
2007-02-13 09:42
2007.04.08
System Colors


15-1173698830
vasIZmax
2007-03-12 14:27
2007.04.08
FOR or WHILE




   Наверх