Гость
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Взаимодействие с рабочим столом пользователя из службы, запущенной под local system / 15 сообщений из 15, страница 1 из 1
20.01.2017, 15:07
    #39388509
Dmitrixz
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Взаимодействие с рабочим столом пользователя из службы, запущенной под local system
Добрый вечер, стоит такая задача: Необходимо чтобы служба могла отобразить окно с информацией пользователю который в данный момент залогинен в системе. Знаю как это сделать с помощью id сессии полученного от службы терминалов. Есть ли еще каккие-то способы?
...
Рейтинг: 0 / 0
20.01.2017, 15:37
    #39388539
buser
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Взаимодействие с рабочим столом пользователя из службы, запущенной под local system
Dmitrixz, есть... в пользовательской сессии крутится процесс он взаимодействует с вашим сервисом... как - да как придумаете...
...
Рейтинг: 0 / 0
20.01.2017, 18:50
    #39388662
Arm79
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Взаимодействие с рабочим столом пользователя из службы, запущенной под local system
Штатно в .Net не реализована поддержка интерактивных служб. Только ручками через ВинАПИ

Из МСДН:
Код: plaintext
Классы служб Windows, поддерживаемые .NET Framework, не поддерживают взаимодействие с интерактивными станциями, то есть станциями текущего пользователя. В NET Framework также отсутствуют классы, представляющие станции и рабочие столы. При необходимости организовать взаимодействие службы Windows с другими станциями следует использовать неуправляемый интерфейс API Windows. Дополнительные сведения см. в документации по Windows SDK. 

Вам уже посоветовали. Пишите обычный сервис, и обычное приложение, которое запускается при старте пользовательской сессии. Приложение и сервис общаются между собой, например, через WCF
...
Рейтинг: 0 / 0
21.01.2017, 00:58
    #39388806
Т-Миронов
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Взаимодействие с рабочим столом пользователя из службы, запущенной под local system
DmitrixzДобрый вечер, стоит такая задача: Необходимо чтобы служба могла отобразить окно с информацией пользователю который в данный момент залогинен в системе. Знаю как это сделать с помощью id сессии полученного от службы терминалов. Есть ли еще каккие-то способы?

GetCurrentProcess-OpenProcessToken-DuplicateToken-SetTokenInformation-ImpersonateLoggedOnUser

попробуй.

http://www.developerfusion.com/community/blog-entry/8389765/creating-a-process-in-another-user-session/
...
Рейтинг: 0 / 0
21.01.2017, 10:27
    #39388851
Cat2
Модератор форума
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Взаимодействие с рабочим столом пользователя из службы, запущенной под local system
Dmitrixz,

Я бы просто запустил стандартную программу msg , которая может отображать сообщение всем пользователям машины
...
Рейтинг: 0 / 0
23.01.2017, 09:22
    #39389289
Dmitrixz
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Взаимодействие с рабочим столом пользователя из службы, запущенной под local system
Cat2, ваша идея мне очень даже подойдёт, спасибо огромное за совет, сам как-то не догадался. Только у меня к вам один вопрос: пробую реализовать это в приложении, запускаю cmd и передаю туда сообщение, так вот командная строка отображается, а само сообщение нет. В чем может быть проблема? Делаю это так: process. Start ("cmd", "mag */127.0.0.1 test");
Причём если это выполняю в командной строке, то все ок.
...
Рейтинг: 0 / 0
23.01.2017, 09:28
    #39389293
Dmitrixz
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Взаимодействие с рабочим столом пользователя из службы, запущенной под local system
Разобрался, спасибо огромное)
...
Рейтинг: 0 / 0
23.01.2017, 09:29
    #39389295
Cat2
Модератор форума
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Взаимодействие с рабочим столом пользователя из службы, запущенной под local system
Dmitrixz,

Зачем cmd и адрес?

Process.Start ("msg", " * \"Собщение всем\"")
...
Рейтинг: 0 / 0
23.01.2017, 09:58
    #39389317
Dmitrixz
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Взаимодействие с рабочим столом пользователя из службы, запущенной под local system
А если отключена служба терминалов (windows xp) есть возможность использовать msg? Есть ли какая-то альтернатива для такого случая?
...
Рейтинг: 0 / 0
23.01.2017, 10:17
    #39389334
Dima T
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Взаимодействие с рабочим столом пользователя из службы, запущенной под local system
Сообщения от msg принимает отдельная служба, никак не связанная с терминалом. Как называется - не помню. Если эта служба запущена на получателе, то сообщение он получит.
...
Рейтинг: 0 / 0
23.01.2017, 10:32
    #39389344
Cat2
Модератор форума
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Взаимодействие с рабочим столом пользователя из службы, запущенной под local system
Dmitrixz,

Служба терминалов тут почти не причем. Просто msg может послать сообщение и терминальной сессии
...
Рейтинг: 0 / 0
23.01.2017, 11:28
    #39389392
Dmitrixz
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Взаимодействие с рабочим столом пользователя из службы, запущенной под local system
Хм, а почему тогда при отключеной службе терминов, сне выдаёт ошибку: 1702 при получении имён сеанса
...
Рейтинг: 0 / 0
23.01.2017, 11:34
    #39389398
Dima T
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Взаимодействие с рабочим столом пользователя из службы, запущенной под local system
Читай что ошибка означает
https://msdn.microsoft.com/ru-ru/library/windows/desktop/ms681381(v=vs.85).aspx RPC_S_INVALID_BINDING

1702 (0x6A6)

The binding handle is invalid.
Нет доступа к RPC, ссылку Cat2 внимательно читай, там написано как включать.
...
Рейтинг: 0 / 0
23.01.2017, 13:24
    #39389470
Dmitrixz
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Взаимодействие с рабочим столом пользователя из службы, запущенной под local system
Так все по ссылке сделал, не спрашивал бы лишний раз. Порт открыт, рпц разрешен. Если служба терминалов включена, все работает, как только отключаю, то ошибка вылазит
...
Рейтинг: 0 / 0
23.01.2017, 20:24
    #39389838
Cat2
Модератор форума
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Взаимодействие с рабочим столом пользователя из службы, запущенной под local system
Dmitrixz,
по-подробнее задачу расскажите.
0. Сервис и комп - одна машина
1. Сервис и комп в одной сети домена. Между ними нет маршрутизаторов
2. Сервис и комп в одной сети домена. Между ними есть маршрутизаторы
3. Сервис и комп в разных сетях домена.
4. Сервис и комп в одном лесу.

Легко и просто msg решает проблему только в варианте 0.
...
Рейтинг: 0 / 0
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Взаимодействие с рабочим столом пользователя из службы, запущенной под local system / 15 сообщений из 15, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]