Текущий архив: 2002.03.28;
Скачать: CL | DM;
ВнизКак закрыть все приложения кроме моего????????? Найти похожие ветки
← →
Ted (2002-01-27 07:38) [0]Подскажите, плиз, как закрыть все запущеные на компе приложения кроме моего?????????
← →
Anatoly Podgoretsky (2002-01-27 16:16) [1]Беда только в том, что твое после этого работать не будет.
← →
Ted (2002-01-27 16:37) [2]Я имел ввиду закрыть программы запущеные пользователем. Например блокнот, калькулятор и т.п.
← →
copyr25 (2002-01-27 19:16) [3]Я делал это так:
...
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;
← →
yus (2002-01-27 22:40) [4]Способ не лучший но работает.
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;
← →
Ted (2002-01-28 09:03) [5]> yus
попробовал ваш способ, но он к сожалению вызывает вывод окна "завершение работы".
← →
Ted (2002-01-28 09:16) [6]> yus
Все работает, стормозил про "Program Manager"
>copyr25
> yus
Спасибо.......
Страницы: 1 вся ветка
Текущий архив: 2002.03.28;
Скачать: CL | DM;
Память: 0.45 MB
Время: 0.005 c