Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Найти окно по имени и классу из сервиса [D7, WinXP]


Страницы:   1 2

9899100 ©   (2009-04-19 23:58:00) 

Здравствуйте!
сделал небольшую программу, которая управляет другим приложением.Она, при появлении определенного окна, находит на нем кнопку и нажимает на неё, все работает.
Переделал свою программу в сервис.
Но теперь я не могу функцией EnumWindows и EnumChildWindows
найти требуемого окна. Скинул результат работы этих функций в файл и оказалось что они собирают всего несколько окон. т.е. все задачи которые запущены из эксплорера не попадают в эти пречисления.

Подскажите, как можно получить список всех окон всех процессов из сервиса?


Slym   (2009-04-20 19:21:00) [1]

ЦБшные программы все на файлообмене построены, с возможностью слежения за каталогом...
Вы сударь просто не настроили ихний (и вправду дебильный) дотнетовский клиент-банк... его можно перевести в режим сканирования каталога с вптоподписанием и упаковкой в конверт...
каталоги выхода с этапа указывать на вход другого этапа...
остается только сформировать платежка согласно ихней xml схемы и положить во вход первого этапа, н выходе последнего готовый конверт для транспортной машины


Eraser   (2009-04-20 19:16:00) [2]

> [19] Игорь Шевченко ©   (20.04.09 19:14)


> в XP она же консольная

верно, только если выключен FUS.

> про Висту ничего не могу сказать - не видел, не знаю, не
> устанавливал, не испытываю желание устанавливать

беда в том, что юзеры то устанавливают ) и win7 будут устанавливать еще больше :-)


Игорь Шевченко   (2009-04-20 19:14:00) [3]


> нулевая.


в XP она же консольная, про Висту ничего не могу сказать - не видел, не знаю, не устанавливал, не испытываю желание устанавливать


Eraser   (2009-04-20 19:08:00) [4]

> [17] Игорь Шевченко ©   (20.04.09 19:02)


> Разве не консольная ?

нулевая. в xp - та же, что и у первого залогиневшегося юзера. в висте даже для первого залогиневшегося юзера создается отдельная терм. сессия.


Игорь Шевченко   (2009-04-20 19:02:00) [5]


> еще и своя терм. сессия.


Разве не консольная ?


Eraser   (2009-04-20 18:41:00) [6]

> [13] Игорь Шевченко ©   (20.04.09 17:38)


> У сервисов мало того, что свой Desktop, он еще и в своей
> WindowStation

у сервисов мало того, что своя WindowStation, еще и своя терм. сессия.


Игорь Шевченко   (2009-04-20 18:08:00) [7]


> Но чужой десктоп можно открыть.


предварительно присоединив к себе чужой WindowStation...


clickmaker   (2009-04-20 17:40:00) [8]

> [13] Игорь Шевченко ©   (20.04.09 17:38)
> clickmaker ©   (20.04.09 15:57) [12]
>
> Фигу. У сервисов мало того, что свой Desktop, он еще и в
> своей WindowStation

в курсе. Но чужой десктоп можно открыть.
Правда, не в курсе, нужна ли для этого сервису интерактивность


Игорь Шевченко   (2009-04-20 17:38:00) [9]

clickmaker ©   (20.04.09 15:57) [12]

Фигу. У сервисов мало того, что свой Desktop, он еще и в своей WindowStation


clickmaker   (2009-04-20 15:57:00) [10]

> как все таки получить окошки из сервиса

EnumDesktopWindows ?


Игорь Шевченко   (2009-04-20 15:45:00) [11]


> Подскажите, как можно получить список всех окон всех процессов
> из сервиса?


1. настроить сервис на взаимодействие с рабочим столом.
2. отказаться от сервиса


Anatoly Podgoretsky   (2009-04-20 11:14:00) [12]

> ford  (20.04.2009 9:59:09)  [9]

> вот лучше бы подсказал как

Что бы меня прокляли другие пользователи вашего банка.


ford   (2009-04-20 09:59:00) [13]


> Не хотел бы я держать деньги в этом банке.

Если бы ты видел программы которые делает ЦБ (центральный банк) ты бы ужаснулся так, что неделю не мог бы прийти в себя от шока
типа "под каким градусом и какой ногой можно было писать такие программы"

а вот автоматизация процессов производства, пусть это банк или еще что-то
тут я полностью с тобой не согласен
ну если поставленны такие условия работы
1. выгрузить документы на машине №1
2. подписать документы на машине №2
3. отправить документы в ЦБ машина №3
и пр этом они не могут быть в сети (правила ЦБ)
чтобы например подписать и зашифровать файл, надо открыть три окна и в каждом тупо нажать на пару кнопок
понимаешь?? "ТУПО" нажать на кнопку!!!
и что тут криминального или плохого если я нажму на кнопку не сам а программа???!!!
ведь компьютеры для того и создавались чтобы автоматизировать рутинные процессы
но ЦБ этого не знает  ;)

но это лирика :)
вот лучше бы подсказал как все таки получить окошки из сервиса


Anatoly Podgoretsky   (2009-04-20 08:59:00) [14]

Не хотел бы я держать деньги в этом банке.


9899100   (2009-04-20 07:53:00) [15]

реальный пример
если ты работал когданибудь в банке, отправлял платежи в ЦБ
то реальный пример видел не однократно, когда надо нажать на "100" кнопок в "20" программах причем на разных компах, а делать каждые 20 минут
хотябы на 10 "телодвижений меньше" это очень удобно

реальный на 100%


Германн   (2009-04-20 02:07:00) [16]


> 9899100   (20.04.09 01:43) [5]
>
>
> > Странный однако сервис должен был бы быть красивым :)
>
> ничего странного я в этом не вижу

Странным мне показалось желание сделать службу, которая только и делает, что отыскивает окно некоего приложения с некоей кнопкой и эмулирует нажатие на ту кнопку.

Может реальный пример представишь, в котором нет ничего "странного".


9899100   (2009-04-20 01:43:00) [17]


> Странный однако сервис должен был бы быть красивым :)

ничего странного я в этом не вижу
но могу для Вас заменить слово "красивый" на удобный

красивый, это когда нет ничего лишнего, как например иконка торчащая в трее, который и так замусорен
а так работает себе сервис никому не мешает


Германн   (2009-04-20 01:28:00) [18]


> 9899100   (19.04.09 23:58)
>
> Здравствуйте!
> сделал небольшую программу, которая управляет другим приложением.
> Она, при появлении определенного окна, находит на нем кнопку
> и нажимает на неё, все работает.
> Переделал свою программу в сервис.
> Но теперь я не могу


> жаль, было бы красиво :)

Странный однако сервис должен был бы быть красивым :)


9899100   (2009-04-20 00:34:00) [19]

а функция CreateToolHelp32Snapshot ни как не поможет??
ведь она позволяет получить список задач и нитей
и выдет все что запущенно в данный момент
только до окон добраться не получается :(


9899100   (2009-04-20 00:31:00) [20]

жаль, было бы красиво :)


Страницы:   1 2

Наверх

Титульная страница Поиск, карта сайта Написать письмо