Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: Общие вопросы > убить процесс и защита от копирования


Автор: Jass 5.6.2008, 12:38
Нужна помощь: 
1:
 Убить процессы, которые записаны в столбик в Memo или listbox. Вот код:
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;

  И при нажатии на кнопку, чтобы процессы записанные в memo или listbox были уничтожены(процессы записаны в столбик):
KillTask(''); //а что там писать не наю, помогите
    2: Защита файла от копирования:при нажатии на кнопку, пути файлов записанные в memo или listbox были защищены, вот код:
var
  Form1: TForm1;
  fs: TFileStream;

implementation
{$R *.dfm}


и при нажатии на копку, пути файлов записанные в memo или listbox были защещены, код:
  
  fs:=TFileStream.Create('Что тут писать?', fmOpenRead, fmShareDenyNone);



Автор: Jass 5.6.2008, 22:53
Да ё-моё, что за программеры тут сидят?!? вот код:
For i := 0 to listbox1.count - 1 do KillTask(listbox1.Items[i]);  -для ListBox убивать процессы
Тоже самое будет с защитой над файлами, только код немного изменить-может будет кому-то интересно)) smile 
там конечно, будет переменная I
 Var
i : integer;

Автор: Данкинг 5.6.2008, 23:26
Цитата(Jass @  5.6.2008,  23:53 Найти цитируемый пост)
Да ё-моё, что за программеры тут сидят?!? 

Ужас просто, а не программеры. smile А в чём проблема-то была - пройтись циклом по листбоксу и убить процессы, ссылки на которые там содержатся? Т.е. вопрос был в организации прохода в цикле по строкам листбокса, только и всего? smile 

Автор: Jass 5.6.2008, 23:48
Да... только и всего.... smile 

Автор: Alexeis 6.6.2008, 09:18
Модератор: создавайте тему по правилам!

1) Кнопка код используется для подсветки кода.
2) Про убить процессы есть в факе и DRKB.
3) Тема не в том разделе. Такие вопросы обсуждают в разделе "Delphi: WinAPI и системное программирование".
4) В теме не сформулирован вопрос! Задания решают в разделах "Центр помощи" и "Работа"

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)