Форум: "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