Текущий архив: 2008.11.30;
Скачать: CL | DM;
Вниз
как Определить активное окно, но хитро - позже клика? Найти похожие ветки
← →
Vlad Oshin © (2008-10-17 12:53) [0]вот так делаю
case MSG.message of
WM_LBUTTONDOWN,WM_RBUTTONDOWN:
begin
GetWindowText(GetForegroundWindow,@PA,255);
//LastWindow:=strpas(pansichar(@PA));
WriteToLog("Верхнее окно текст"+strpas(pansichar(@PA)));
GetClassName(msg.hwnd,@PA,255);
s:="Клик по окну класса:"+strpas(pansichar(@PA));
GetWindowText(MSG.hwnd,@PA,255);
s:=s+"(текст:"+strpas(pansichar(@PA))+")<BR>";
hwnd:=MSG.hwnd;
while (GetParent(hwnd)<>0) do begin
hwnd:=GetParent(hwnd);
if GetWindowTextLength(hwnd)>1
then begin
GetClassName(hwnd,@PA,255);
s:=s+" подокно класса:"+strpas(pansichar(@PA));
GetWindowText(hwnd,@PA,255);
s:=s+"(текст:"+strpas(pansichar(@PA))+")<BR>";
end;
end;
// GetWindowModuleFileName(msg.hwnd,@PA,255);
// s:=s+" "+ExtractFileName(strpas(pansichar(@PA)));
WriteToLog(s);
но,
Когда происходит клик, я определяю верхнее окно, а там срабатывает механизм какой-то, и верхним становится другое.
Например, щелкаем по кнопке на form1, которая вызывает form2.show.
Все правильно фиксируем,
- Клик на кнопка1, form1
А еще неплохо бы как-то зафиксировать какое после клика активное окно стало?
← →
Правильный$Вася (2008-10-17 12:58) [1]
> зафиксировать какое после клика активное окно стало?
а если оно станет активным через пару минут, после долгого мурыженья данных и сложных матрасчетов?
какие-то у тебя странные задачи
ты что, заранее не знаешь, что у тебя по кнопке вылезти должно?
← →
Vlad Oshin © (2008-10-17 13:29) [2]
> заранее не знаешь, что у тебя по кнопке вылезти должно?
нет.
Динамически меняется
> а если оно станет активным через пару минут, после долгого
> мурыженья данных и сложных матрасчетов?
вот и именно
А надо бы..
Страницы: 1 вся ветка
Текущий архив: 2008.11.30;
Скачать: CL | DM;
Память: 0.45 MB
Время: 0.004 c