Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "WinAPI";
Текущий архив: 2006.02.05;
Скачать: [xml.tar.bz2];

Вниз

отлов 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 вся ветка

Форум: "WinAPI";
Текущий архив: 2006.02.05;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.46 MB
Время: 0.012 c
15-1137182489
LordOfRock
2006-01-13 23:01
2006.02.05
Total Commander Plugin


2-1137686678
mr.maloy
2006-01-19 19:04
2006.02.05
Учебник по delphi (электронный) где найти??? ПАМАГИТЕ


2-1137779782
SneG
2006-01-20 20:56
2006.02.05
Рисовать на Canvas


4-1132571869
MTsv DN
2005-11-21 14:17
2006.02.05
Удержание кнопки мыши и кнопки...


15-1137400355
Kerk
2006-01-16 11:32
2006.02.05
Новая попытка захвата объекта РФ в Крыму





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский