crossplatform.ru

Здравствуйте, гость ( Вход | Регистрация )

 
Ответить в данную темуНачать новую тему
> Службы
bigory
  опции профиля:
сообщение 11.10.2010, 21:16
Сообщение #1


Студент
*

Группа: Участник
Сообщений: 77
Регистрация: 10.10.2010
Пользователь №: 2099

Спасибо сказали: 0 раз(а)




Репутация:   0  


Всем доброе время суток!
Мне нужно создать сервис (службу), который будет обмениваться информацией с сервером в сети рабочей группы, в тот момент, когда компьютер ожидает ввода пароля для входа в систему.
Для начало хотел бы узнать как написать этот сервис для клиентской машины и программу для сервера. Пусть будет самый простой пример, где этот клиент посылает серверу строку любого сообщения
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Алексей1153
  опции профиля:
сообщение 12.10.2010, 6:00
Сообщение #2


фрилансер
******

Группа: Участник
Сообщений: 2941
Регистрация: 19.6.2010
Из: Обливион
Пользователь №: 1822

Спасибо сказали: 215 раз(а)




Репутация:   34  


по-моему, тут необходимо обозначить ОС :)
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Iron Bug
  опции профиля:
сообщение 12.10.2010, 6:26
Сообщение #3


Профессионал
*****

Группа: Модератор
Сообщений: 1611
Регистрация: 6.2.2009
Из: Yekaterinburg
Пользователь №: 533

Спасибо сказали: 219 раз(а)




Репутация:   12  


да, действительно. смотря под какой осью.
хотя... если "службы" - то, скорее всего, венда.
а если венда, то отличный и простой пример мелкого сервиса - программа ReXeCutioner. это буквально один-два файла. на сорцфорже лежит код его потомка (TheGrimLinker), который посложнее, но там есть и исходники ReXeCutioner'а: http://sourceforge.net/projects/thegrimlinker/files/
ReXeCutioner ставится сервисом на машину и позволяет удалённо цепляться к нему из консоли другой машины, запуская на удалённой машине любые программы и выводя в локальную консоль содержимое консоли на удалённой машине. там как раз пример сервиса, и пайпов, и всего остального.
есть ещё более ранний вариант: xCmd (http://www.codeguru.com/cpp/i-n/network/remoteinvocation/article.php/c5433/). это "предок" ReXeCutioner'а. Он ещё примитивнее.

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

P.S. да, к QT это не имеет никакого отношения. ибо просто системная фича, к тому же вовсе не кроссплатформенная.

Сообщение отредактировал Iron Bug - 12.10.2010, 6:44
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

Быстрый ответОтветить в данную темуНачать новую тему
Теги
Нет тегов для показа


1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0




RSS Текстовая версия Сейчас: 21.12.2024, 20:13