Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.05.16;
Скачать: CL | DM;

Вниз

Не работает FindWindow   Найти похожие ветки 

 
Vilux ©   (2004-03-17 07:58) [0]

Проблема в следуюшем. Есть приложение, хэндл которого ловится с помощью функции FindWindow, все работает. Проблема в том, что хэндл не находится из dll-ки, которая написана как сервис ISAPI/NSAPI. Т.е. dll-ка пускается IIS сервером при запросе вида http://localhost/mydll.dll
Она просто не видит окно приложения, т.е. возвращает хэндл = 0. Пробовал и FindWindow и FindWindowEx. Как быть? По идее я использую SendMessage, чтобы передать сообщение окну...  а теперь не могу передавать...


 
KSergey ©   (2004-03-17 08:08) [1]

off

Ну и жуткие же технологии для Web-сервиса... Запрется 100 пользователей (или 1000 - что еще хуже) что-то посмотреть, а там оказывается прога зачем-то какое-то окно ищет через FindWindow... А окно-то хоть точно имеет место быть?


 
CX   (2004-03-17 11:00) [2]

У меня похожая проблема. Не могу найти окна из сервиса! Давайте объединяться! Мой адрес: cx@ukr.net
Напишите, что Вы пробоволи и что у Вас получилось.


 
Игорь Шевченко ©   (2004-03-17 11:28) [3]


> У меня похожая проблема. Не могу найти окна из сервиса!


Разреши сервису взаимодействие с рабочим столом и будет тебе счастье. Даром.


 
Vilux ©   (2004-03-17 12:32) [4]

Да, я так и понял, что dll не видит рабочий стол. А вообще, пришлось пойти другим путем, без использования dll


 
Sur ©   (2004-03-17 15:59) [5]

хэндл окна и хэндл приложения по моему разные вещи


 
piople ©   (2004-03-18 06:58) [6]


> Vilux

НАФИГА ВАМ ИЗ СЕРВИСА ИСКАТЬ КАКОЕ-ТО ОКНО?????


 
CX   (2004-03-18 19:20) [7]

Vilux:

Можно делать харакири по ИД процесса. Тогда привязка будет к именифайла, что есть простейшим решением (переименууй файл - и сервис его не убьет). Более элегантным решением было бы вместе с ИД процесса проверять также и его окно (если таковое имеется). Ну и уж совсем замечательно было бы считать СРС процесса. Наиболее надёжно для идентификации, но и поморочиться надо. Ехе-шки не будеш считать раз в 2-3 секунды - слишком много ресурсов уйдет. Можно проверять только СРС заголовка из ехе.

Игорь Шевченко

Спасибо, мне уже посоветовали то же самое... :) А как определить состояние системы, т.е. можно-ли сервису уже выполнить ShellExecute, или ещё рано - система не загружена полностью?


 
Игорь Шевченко ©   (2004-03-19 10:46) [8]

CX   (18.03.04 19:20)


> А как определить состояние системы, т.е. можно-ли сервису
> уже выполнить ShellExecute, или ещё рано - система не загружена
> полностью?


Можно поймать сообщение TaskbarCreated, например. Или WM_USERCHANGED


 
Игорь Шевченко ©   (2004-03-19 10:49) [9]

Удалено модератором
Примечание: Дубль


 
_edWin ©   (2004-03-19 12:17) [10]

тебе собственно что нужно:хэндл окна или приложения.
ЭТО РАЗНЫЕ ВЕЩИ (совсем).
FindWindow ищет окно по имени класса и/или caption"а окна.


 
CX   (2004-03-22 11:18) [11]

Игорь Шевченко

А если проверять наличие процесса Explorer.exe?


 
Игорь Шевченко ©   (2004-03-23 11:51) [12]

CX   (22.03.04 11:18)

Путь с сообщением - официально документированный и рекомендованный.



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

Текущий архив: 2004.05.16;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.025 c
14-1082697943
SergP
2004-04-23 09:25
2004.05.16
Посоветуйте прогу для создания патчей.


8-1077923434
Дас Виндовс 45
2004-02-28 02:10
2004.05.16
Интерфейс


14-1082953057
AGAMEMNUM
2004-04-26 08:17
2004.05.16
photoshop


6-1080640211
Ozone
2004-03-30 13:50
2004.05.16
ping


3-1082484394
I.Ru.Ru
2004-04-20 22:06
2004.05.16
Связывание одной дочерней таблицы с двумя родительскими