Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 01.11.2011, 09:07   #1
Romandr154
 
Регистрация: 01.11.2011
Сообщений: 3
По умолчанию Завершени процесса

Хочу написать программу, которая по нажатию на кнопку блочит комп, но при нажатии Ctrl+alt+del приостанавливается на 1500 милисекунд, а при нажатии на вторую кнопку завершает ПРОЦЕСС(!).
С первый я разобрался, но как завершить процесс, врое читал форум, толи руки кривые, толи чегото не дописал

Код:

unit Unit1;

interface

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

type
  TForm1 = class(TForm)
    Button1: TButton;
    Button2: TButton;
    procedure Button1Click(Sender: TObject);
    procedure Button2Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

const
  PROCESS_TERMINATE=$0001;

var
  Form1: TForm1;

implementation

{$R *.dfm}


procedure TForm1.Button2Click(Sender: TObject);

killtask('Project1.exe');
end;

procedure BlockInput; external 'user32.dll';
procedure TForm1.Button1Click(Sender: TObject);
begin

      Repeat
  asm
  push 1
  call BlockInput
  end;
    Sleep(1500);
    Until 1=2;
end;

end.
Не нравится эта срочка:
Код:
killtask('Project1.exe');
Ошибки, которые выдает:

Код:
[Error] Unit1.pas(34): Unknown directive: 'killtask'
[Fatal Error] Project1.dpr(5): Could not compile used unit 'Unit1.pas'
Romandr154 вне форума Ответить с цитированием
Старый 01.11.2011, 12:58   #2
Step_UA
Форумчанин
 
Аватар для Step_UA
 
Регистрация: 09.06.2011
Сообщений: 388
По умолчанию

Код:
Application.Terminate;
на неконкретные вопросы даю неконкретные ответы ...
Step_UA вне форума Ответить с цитированием
Старый 01.11.2011, 13:01   #3
Romandr154
 
Регистрация: 01.11.2011
Сообщений: 3
По умолчанию Конкретнее

Напиши плиз, как конкретно это употребить если закрыть надо процесс Project1.exe
Romandr154 вне форума Ответить с цитированием
Старый 01.11.2011, 13:09   #4
Step_UA
Форумчанин
 
Аватар для Step_UA
 
Регистрация: 09.06.2011
Сообщений: 388
По умолчанию

невнимательно прочел, написал о закрытии текущей программы
... код не мой
Код:
uses Windows, TlHelp32, SysUtils...


function  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;
на неконкретные вопросы даю неконкретные ответы ...
Step_UA вне форума Ответить с цитированием
Старый 01.11.2011, 13:17   #5
Romandr154
 
Регистрация: 01.11.2011
Сообщений: 3
По умолчанию

Конекретно в мой код проги куда вписать чтоб при нажатии на Button2 он завершался? Этот код я уже видел, но я не понимаю что конкретно и куда вписать.
Romandr154 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
через API получаю полный путь и название процесса, а получаю только название процесса Den7656 Win Api 5 12.09.2011 09:03
Заморозка процесса RuVarez Общие вопросы Delphi 12 03.09.2010 11:31
Запуск процесса в потоке, завершение процесса в указааноое время, Дайте совет Человек_Борща Общие вопросы Delphi 3 29.08.2010 12:58
автоматизация процесса cheshiki1 Microsoft Office Excel 2 29.05.2009 16:29
ID процесса ben95 Общие вопросы Delphi 1 22.01.2008 19:43