Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2002.12.05;
Скачать: CL | DM;

Вниз

Как закрыть другую прогу?   Найти похожие ветки 

 
DJ LLL ©   (2002-10-23 22:21) [0]

ХЕЛП! Помогите мне. Надо закрыть другую прогу. В FAQ"е нашел такое чудо:
SendMessage(ApplicationHandle,WM_CLOSE,0,0)

ApplicationHandle - ???????????? =8:(


 
Dr_Mike ©   (2002-10-23 23:03) [1]

FindWindow перед этим


 
DJ LLL ©   (2002-10-23 23:29) [2]

Как это сделать. Я новичок, несердись.


 
Song ©   (2002-10-24 09:48) [3]

Почитай хэлп по FindWindow


 
F1   (2002-10-24 11:20) [4]

Вот прога, ищет все окна, и может их закрывать или делать невидимыми.

unit Unit1;

interface

uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
Buttons, StdCtrls, ComCtrls, ImgList;

type
TForm1 = class(TForm)
SpeedButton1: TSpeedButton;
TreeView1: TTreeView;
Edit1: TEdit;
ImageList1: TImageList;
SpeedButton2: TSpeedButton;
SpeedButton3: TSpeedButton;
procedure SpeedButton1Click(Sender: TObject);
procedure TreeView1Change(Sender: TObject; Node: TTreeNode);
procedure SpeedButton2Click(Sender: TObject);
procedure SpeedButton3Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;

var
Form1: TForm1;

implementation

{$R *.DFM}

//Получаем список окон
procedure TForm1.SpeedButton1Click(Sender: TObject);
Var
p:^HWND;
Wnd:HWND;
Buf:array[byte] of char;
begin
TreeView1.Items.Clear;
Wnd:=Handle;
repeat
Buf[0]:=#0;
if GetParent(Wnd)=0 then
begin
if GetWindowText(Wnd, Buf, 255)>0 then
begin
New(p);
p^:=Wnd;
with TreeView1.Items.Add(Nil, Buf) do
begin
if IsWindowVisible(Wnd) then
begin
ImageIndex:=0;
SelectedIndex:=0;
end else
begin
ImageIndex:=1;
SelectedIndex:=1;
end;
Data:=P;
end;
end;
end;
Wnd:=GetNextWindow(Wnd, GW_HWNDNEXT);
until Wnd=0;
end;

procedure TForm1.TreeView1Change(Sender: TObject; Node: TTreeNode);
Var
p:^HWND;
begin
if TreeView1.Selected=Nil then Exit;
p:=TreeView1.Selected.Data;
Edit1.Text:=IntToStr(p^);
end;

//Change Visible
procedure TForm1.SpeedButton2Click(Sender: TObject);
Var
p:^HWND;
begin
if TreeView1.Selected=Nil then Exit;
p:=TreeView1.Selected.Data;
if IsWindowVisible(p^) then
begin
ShowWindow(p^,SW_HIDE);
TreeView1.Selected.ImageIndex:=1;
TreeView1.Selected.SelectedIndex:=1;
end else
begin
ShowWindow(p^,SW_SHOW);
TreeView1.Selected.ImageIndex:=0;
TreeView1.Selected.SelectedIndex:=0;
end;
SetFocus;
end;

//Попытка закрытия, именно попытка *
procedure TForm1.SpeedButton3Click(Sender: TObject);
Var
p:^HWND;
begin
if TreeView1.Selected=Nil then Exit;
p:=TreeView1.Selected.Data;
SendMessage(p^, WM_CLOSE, 0, 0);
Dispose(p);
TreeView1.Selected.Destroy;
end;

* Если окно не захочет закрываться, например спросит "А не хотите ли вы блин сохранить документ, блин???", то оно не закроется. А если ты все-таки хочешь железно закрыть чужое окно, тогда уничтожай процесс (TerminateProcess), но для начала почитай про это повнимательней(есть последствия). Или внедряйся в другой процесс и завершай его изнутри это лучший способ, но геморойный.


 
Song ©   (2002-10-24 11:37) [5]

2F1 (24.10.02 11:20)
Пушкой по воробьям? :-))



Страницы: 1 вся ветка

Текущий архив: 2002.12.05;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.016 c
1-14635
IKiller
2002-11-25 11:40
2002.12.05
Пропадают компоненты в палитре


3-14413
Zn
2002-11-16 12:02
2002.12.05
Связывание полей разных типов в SQL-запросе


14-14806
Николай Быков
2002-11-15 15:57
2002.12.05
FTP с музыкой


1-14672
Beginer1
2002-11-23 16:50
2002.12.05
произведение двух матриц


6-14707
Pavel_S
2002-10-08 10:19
2002.12.05
Проблема с UDP