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

Вниз

Закрыть приложение (Очень Нужно)   Найти похожие ветки 

 
Alt-Ctrl-Del   (2004-03-27 13:01) [0]

Приветствую вас. Подскажите пожалуйста как мне закрыть программу
если она без формы и висит отдельным процессом. А мне надо чтобы при нажатии определенного сочетания клавишь ( К Примеру Alt+Ctrl+Shift+A)она закрывалась.
Заранее Спасибо.


 
123321   (2004-03-28 00:17) [1]

Ну помогите же человеку!!!!


 
Yanis ©   (2004-03-28 00:26) [2]

Блин, как будто для себя делаю :)
Надеюсь этого достаточно будет:

unit Unit1;

interface

uses
 Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
 Dialogs,Tlhelp32, StdCtrls;

type
 TForm1 = class(TForm)
   Button1: TButton;
   procedure Button1Click(Sender: TObject);
   procedure FormCreate(Sender: TObject);
 private
   { Private declarations }
   function KillTask(ExeFileName: string): integer;
 public
   { Public declarations }
 end;

var
 Form1: TForm1;

implementation

{$R *.dfm}

function TForm1.KillTask(ExeFileName: string): integer;
const
 PROCESS_TERMINATE=$0001;
var
 ContinueLoop: BOOL;
 FSnapshotHandle: THandle;
 FProcessEntry32: TProcessEntry32;
begin
 result := 0;

 FSnapshotHandle := CreateToolhelp32Snapshot
                    (TH32CS_SNAPPROCESS, 0);
 FProcessEntry32.dwSize := Sizeof(FProcessEntry32);
 ContinueLoop := Process32First(FSnapshotHandle,
                                FProcessEntry32);

 while integer(ContinueLoop) <> 0 do
 begin
   if ((UpperCase(ExtractFileName(FProcessEntry32.szExeFile)) =
        UpperCase(ExeFileName))
    or (UpperCase(FProcessEntry32.szExeFile) =
        UpperCase(ExeFileName))) then
     Result := Integer(TerminateProcess(OpenProcess(
                       PROCESS_TERMINATE, BOOL(0),
                       FProcessEntry32.th32ProcessID), 0));
   ContinueLoop := Process32Next(FSnapshotHandle,
                                 FProcessEntry32);
 end;

 CloseHandle(FSnapshotHandle);
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
 KillTask("notepad.exe");
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
 WinExec("notepad.exe",SW_SHOW);
end;

end.




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

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

Наверх




Память: 0.47 MB
Время: 0.034 c
3-1082016968
BAYES
2004-04-15 12:16
2004.04.11
select * from prod order by no


14-1079467489
kamerad
2004-03-16 23:04
2004.04.11
Можно ли написать антивирус на Delphi


1-1082369020
Dmitriy O.
2004-04-19 14:03
2004.04.11
Qreport не хочет печатать в NT


1-1082371215
Dimaz
2004-04-19 14:40
2004.04.11
Нужен способ определения - файл бинарный/нет.


14-1079257410
Mox Fulder
2004-03-14 12:43
2004.04.11
HDD