![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Как закрыть другое окно? [D3, Win95/98]
Cosmic © (2002-11-10 00:31:00)Фишка: нужна прога, которая в таймере каждые пять сек. будет опрашивать активное окно и, в зависимости от его заколовка, будет его закрывать или сворачивать.
getactivewindow почему-то не срабатывает. Как ещё получить активное окно? Я в таймере писал примерно так:
hd:=getactivewindow; // hd - handle
getwindowtext(hd,stt,0); //stt - строка PChar
if stt = "Калькулятор" then
sendmessage(hd,WM_CLOSE,0,0);
Активное окно в этом случае не отлавливается. Что делать?
SottNick (2002-11-11 07:04:00) [1]вешает, значит не так используешь
Cosmic (2002-11-10 18:43:00) [2]ОК. Так явно лучше... Спасибо.
Song (2002-11-10 16:41:00) [3]Вешает?...
Хм.. ну попробуй тогда GetTopWindow()
Cosmic (2002-11-10 16:32:00) [4]ОК. Вот только GetFforegroundWindow намертво вешает машину (под 95 виндой). Может, ещё какие способы есть?
icWasya (2002-11-10 10:23:00) [5]function GetWindowText(Wnd: HWnd; Str: PChar; MaxCount: Integer): Integer;
Копиpует в Str заголовок окна или текст оpгана упpавления.
Паpаметpы:
Wnd: Идентификатоp окна или оpгана упpавления.
Str: Буфеp, пpинимающий стpоку.
MaxCount: Размеp буфеpа Str.!!!!!!!!!!!!!!!!!
Возвpащаемое значение:
Фактическое число скопиpованных байт или 0, если текст отсутствует.
------
у тебя MaxCount = 0
Song (2002-11-10 08:58:00) [6]GetActiveWindow только для окон своего процесса. Чтобы работало, надо прикреплять процесс к своему.
Василий2 (2002-11-10 08:13:00) [7]Хватит заниматься онанизмом!
SottNick (2002-11-10 07:40:00) [8]GetForegroundWindow;