|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
25.08.2012, 16:34 | #1 |
Пользователь
Регистрация: 18.08.2010
Сообщений: 59
|
TService. Найти окно используя службу.
Hello.
Сегодня наткнулся на то, что называется Службами Windows (я надеюсь оно так называется). Решил написать простенький сервис для подсчёта времени активности окна, и сразу же наткнулся на проблему: Сервис не может найти окно, хотя простое приложение используя ту же функцию запросто его находит. Вот код, так яснее: Код:
И ещё хотелось бы узнать что обозначает этот кусок: ServiceThread.ProcessRequests(false ). Заранее благодарен. |
25.08.2012, 17:05 | #2 | |
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
Цитата:
Выведи твой код по обработке окна ContactsHostWindow в цикл ServiceExecute.
I'm learning to live...
|
|
25.08.2012, 17:44 | #3 | |
Пользователь
Регистрация: 18.08.2010
Сообщений: 59
|
Цитата:
Пробовал так: Код:
Код:
|
|
27.08.2012, 10:40 | #4 | |||
Форумчанин
Регистрация: 11.04.2012
Сообщений: 212
|
Цитата:
Так что таймер, шмякнутый прямо на TService, будет нормально тикать. Цитата:
Цитата:
|
|||
27.08.2012, 21:55 | #5 |
Старожил
Регистрация: 13.08.2009
Сообщений: 2,581
|
Службы работают изолировано от оконных приложений интерактивных ользователей (в XP и младше - отдельный рабочий стол, в Vista и выше - целая изолированная сессия). Просто так работать с окнами не получится. И не нужно.
Опытный программист на C++ легко решает любые не существующие в Паскале проблемы.
|
30.05.2024, 14:18 | #6 |
Новичок
Джуниор
Регистрация: 30.05.2024
Сообщений: 1
|
Что нибудь изменилось на настоящее время?) Задача отслеживать не зависло ли одно приложение через службу. В настройках службы Win7 есть галочка Разрешить взаимодействовать с рабочем столом, но окно все равно не находится(
|
31.05.2024, 18:12 | #7 |
Участник клуба
Регистрация: 03.06.2009
Сообщений: 1,834
|
начать с того, что надо в цикле перебрать все окна и вывести их в список?
а потом нужное окно по заголовку уже найти и следить за ним?
Программирование - это единственный способ заставить компьютер делать то, что тебе хочется, а не то, что приходится.
|
13.06.2024, 14:03 | #8 | |
Старожил
Регистрация: 30.12.2009
Сообщений: 11,430
|
Цитата:
Надо поонимать что сервисы работают вне зависимости от того, залогинен ли вообще то-то или нет. Если сервису нужны данные с клиента, то при запуске клиентской сессии, запускается мини-приложение которое берет все что нужно и передает их как угодно сервису, например через сокеты (сервис создает сервер, мини-приложение подключается) или через именнованные каналы и собственно вывполняет просьбы сервиса или просто шлет ему данные. тоже самое пишут и майки https://learn.microsoft.com/en-us/wi...ctive-services |
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Найти количество четных чисел в массиве не используя операцию деления | Дмитр | Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM | 7 | 17.03.2012 21:03 |
найти площадь треугольника, используя функцию | ele29 | Паскаль, Turbo Pascal, PascalABC.NET | 3 | 19.01.2012 16:51 |
Программно найти окно | nikolas0 | Общие вопросы Delphi | 11 | 14.01.2011 01:45 |
Как используя Delphi найти процесс, который отвечает за определенное действие | Minvay | Общие вопросы Delphi | 10 | 19.03.2009 12:41 |
Найти окно MediaPlayer | DeDoK | Win Api | 2 | 11.11.2008 19:30 |