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

Вниз

отлов MessageBox а от определ. окна   Найти похожие ветки 

 
Stany ©   (2005-11-18 13:35) [0]

Нужно автоматизировать работу проги путем кликания в окошки и нажатием кнопочек. В процессе работы проги периодически вываливаются MessageBox"ы с кнопочкой OK как определить их появление, пробовал EnumChildWindows - когда эти сообщения вываливаются оно становится поверх главного, главное сворачивается и список дочерних окон пуст. Что посоветуете?


 
Ботвин Дмитрий   (2005-11-18 13:48) [1]

Stany ©   (18.11.05 13:35)

>список дочерних окон пуст

Так правильно, MessageBox - это не дочернее окно. При появившемся мессаджбоксе запусти "<Диск>:\Program Files\Borland\Delphi7\Bin\WS32.EXE"
она покажет тебе все открытые окна, их заголовки и классы вместе с дочерними. На основании этих данных и посылай сообщения окнам...


 
Leonid Troyanovsky ©   (2005-11-18 13:56) [2]


> Stany ©   (18.11.05 13:35)  
> Нужно автоматизировать работу проги путем кликания в окошки
> и нажатием кнопочек. В процессе работы проги периодически
> вываливаются MessageBox"ы с кнопочкой OK как определить
> их появление, пробовал EnumChildWindows - когда эти сообщения
> вываливаются оно становится поверх главного, главное сворачивается
> и список дочерних окон пуст. Что посоветуете?



var
 DlgWnd: HWND;
..
 DlgWnd := FindWindow("#32770", Pointer(DlgCaption));
 if DlgWnd <> 0 then
   PostMessage(DlgWnd, WM_CLOSE, 0, 0);


--
Regards, LVT.


 
Ботвин Дмитрий   (2005-11-18 13:58) [3]

Leonid Troyanovsky ©   (18.11.05 13:56) [2]

А откуда такие данные, что класс окна у мессаджбокса "#32770"?


 
Игорь Шевченко ©   (2005-11-18 14:15) [4]

Ботвин Дмитрий   (18.11.05 13:58) [3]

Как у любого диалогового окна


 
Leonid Troyanovsky ©   (2005-11-18 15:01) [5]


> Ботвин Дмитрий   (18.11.05 13:58) [3]

> А откуда такие данные, что класс окна у мессаджбокса "#32770"?


http://msdn.microsoft.com/library/default.asp?url=/library/en-us/msaa/msaapndx_49q0.asp

--
Regards, LVT.


 
Stany ©   (2005-11-23 18:36) [6]

с этим ясно, спасибо
а как выяснить что является ли мессаджбокс дочерним от именно от моего окна?


 
Игорь Шевченко ©   (2005-11-23 23:33) [7]


> а как выяснить что является ли мессаджбокс дочерним от именно
> от моего окна?


GetWindowThreadProcessId ?


 
Stany ©   (2005-11-26 12:52) [8]

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

> GetWindowThreadProcessId

в смысле если ProcessId главного окна и мессадж бокса будут равны?



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

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

Наверх




Память: 0.48 MB
Время: 0.035 c
15-1137431448
pusrg
2006-01-16 20:10
2006.02.05
Отсылка письма в японской кодировке.


1-1135794073
SergProger
2005-12-28 21:21
2006.02.05
Указать кодировку


15-1137059969
Sandman29
2006-01-12 12:59
2006.02.05
Возможен ли резкий скачок температуры


15-1137262974
LordOfRock
2006-01-14 21:22
2006.02.05
Проблема :( (Windows XP Sp2)


8-1124860193
Darkwing
2005-08-24 09:09
2006.02.05
Как устроен визуализатор звуков (например из SoundForge)?