Программы   Загрузка Партнерство   О компании Контакты  
 
                    
  Карта Сайта   
   





DLL - убийственная утилита


Вот маленький метод, взятый мною из небольшого проекта, созданного мною для удаления DLL из памяти. На форме присутствует одно поле редактирования TEdit с именем EditDLLName, кнопки Ok и Close. Следующий код выполняется при нажатии на кнопке Ok:


procedure TForm1.OkBtnClick(Sender: TObject);
var
  hDLL: THandle;
  aName: array[0..10] of char;
  FoundDLL: Boolean;
begin
  if EditDLLName.Text = '' then
  begin
    MessageDlg('Сначала вы должны ввести имя выгружаемой DLL!', mtInformation,
      [mbOk], 0);
    exit;
  end;
  StrPCopy(aName, EditDLLName.Text);
  FoundDLL := false;
  repeat
    hDLL := GetModuleHandle(aName);
    if hDLL = 0 then
      break;
    FoundDLL := true;
    FreeLibrary(hDLL);
  until false;
  if FoundDLL then
    MessageDlg('Успешно!', mtInformation, [mbOk], 0)
  else
    MessageDlg('DLL не найдена!', mtInformation, [mbOk], 0);
  EditDLLName.Text := '';
end;

           




Программы  |  Загрузка  |  Партнерство  |  О компании  |  Контакты

Copyright © LSD Software 2006 - 2011