Форум: "Основная";
Текущий архив: 2003.01.16;
Скачать: [xml.tar.bz2];
ВнизЯ надо минимизировать вси другие приложения... Найти похожие ветки
← →
boby_g (2003-01-06 22:19) [0]Работаю по програму - Аларма.
Потребитель ввеждает час аларме
и когда этот час наступает,
програма надо минимизирует вси
другие приложения и надо изсвирит
звоковый файл.
Я искаю процедуру или функцию,
которая минимизирует вси другие
приложения.
И в конце извините мой плахой
русский язык
← →
Оливейра (2003-01-06 22:38) [1]Поможем братьям-славянам:
1) GetDesktopWindow - возвращает hWnd рабочего стола
2) EnumChildWindows - цикл по top-level-окнам рабочего стола
3) SendMessage + WM_ACTIVATE
4) PlaySound
Подробней см. help (F1). Windows SDK
← →
Rouse_ (2003-01-06 22:43) [2]На вскидку выглядит примерно так
procedure TForm1.Button1Click(Sender: TObject);
var
Wnd : hWnd;
buff: ARRAY [0..127] OF Char;
wArray: array of hWnd;
wCount, I: Integer;
begin
wCount:= 0;
Wnd := GetWindow(Handle, gw_HWndFirst);
while Wnd <> 0 do begin
if (Wnd <> Application.Handle) and
IsWindowVisible(Wnd) and
(GetWindow(Wnd, gw_Owner) = 0) and
(GetWindowText(Wnd, buff, sizeof(buff)) <> 0)
then begin
Inc(wCount);
SetLength(wArray, wCount);
wArray[wCount-1] := Wnd;
end;
Wnd := GetWindow(Wnd, gw_hWndNext);
end;
for i:= 0 to wCount- 1 do ShowWindow(wArray[i], SW_MINIMIZE);
end;
Желаю успехов
← →
Rouse_ (2003-01-06 22:51) [3]Вот забыл добавить, в конце нужно
SetLength(wArray, 0);
sndPlaySound(Путь_К_Звуковому_Файлу, SND_ASYNC);
Для использования sndPlaySound, в uses нужно прописать mmsystem
Желаю успехов
← →
Оливейра (2003-01-06 23:16) [4]Да ну нахрен, короче можно :-)
procedure TForm1.Button1Click(Sender: TObject);
var hDesktop: HWND;
function EnumFunc(h_wnd: HWND; l_Param: LPARAM): BOOL; stdcall;
begin
if (
(h_wnd <> 0) and
(IsWindowVisible(h_wnd)) and
(GetParent(h_wnd) = 0)
) then
begin
ShowWindow(h_wnd, SW_MINIMIZE);
end;
result:=true;
end;
begin
hDesktop:=GetDesktopWindow();
EnumChildWindows(hDesktop, @EnumFunc, 0);
//EnumWindows(@ENumFunc, 0);
end;
← →
Rouse_ (2003-01-06 23:34) [5]Конечно можно :)
Я просто накидал код на скорую руку не сильно напрягаясь :))
Результат то одинаков
Желаю успехов
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2003.01.16;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.009 c