Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Как закрыть все приложения кроме моего????????? [D5, Win95/98]


Ted ©   (2002-01-27 07:38:00) 

Подскажите, плиз, как закрыть все запущеные на компе приложения кроме моего?????????


Ted   (2002-01-28 09:16:00) [1]

> yus
Все работает, стормозил про "Program Manager"

>copyr25
> yus
Спасибо.......


Ted   (2002-01-28 09:03:00) [2]

> yus
попробовал ваш способ, но он к сожалению вызывает вывод окна "завершение работы".


yus   (2002-01-27 22:40:00) [3]

Способ не лучший но работает.

procedure TForm1.Button1Click(Sender: TObject);
var
Hand:THandle;
begin
Hand:=GetForegroundWindow;
repeat
if (hand <> application.Handle)and(окна которые не нужно закрывать)and(.....) then postmessage(hand ,wm_close,0,0);
Hand:= GetNextWindow(Hand,GW_HWNDNEXT);
until Hand =0;
end;


copyr25   (2002-01-27 19:16:00) [4]

Я делал это так:
...
public
{ Public declarations }
protected
procedure WMGetSysCommand(var Message :TMessage); message WM_SYSCOMMAND;
end;
var ... h,k:Hwnd;
...
procedure TForm1.WMGetSysCommand(var Message : TMessage) ;
begin //запоминаем handle своего окна
if (Message.wParam = SC_MINIMIZE) then k:=h
else inherited;
end;

procedure TForm1.FormActivate(Sender: TObject);
begin
h:=handle; //закрыть все окна
while h > 0 do begin
if isWindowVisible(h) then
postmessage(h,WM_SYSCOMMAND,SC_MINIMIZE,0);
h:=getnextwindow(h,GW_HWNDNEXT);
end;
k:=handle; // открыть свое окно
postmessage(k,WM_SYSCOMMAND,SC_RESTORE,0);
end;


Ted   (2002-01-27 16:37:00) [5]

Я имел ввиду закрыть программы запущеные пользователем. Например блокнот, калькулятор и т.п.


Anatoly Podgoretsky   (2002-01-27 16:16:00) [6]

Беда только в том, что твое после этого работать не будет.


Наверх

Титульная страница Поиск, карта сайта Написать письмо