Имя пользователя:
Пароль:
 

Показать сообщение отдельно

Забанен


Сообщения: 158
Благодарности: 58

Профиль | Цитировать


Цитата woland0789:
Доброго времени суток, подскажите, где найти скрипт, который проверяет при удалении не запущена ли программа, и если да, то убивает этот процесс. »
Вот код
Код: Выделить весь код
[Setup]
AppName=ISTask UnInstall
AppVersion=1.5
DefaultDirName={pf}\ISTask UnInstall
DefaultGroupName=ISTask UnInstall
OutputDir=.
OutputBaseFilename=setupuninstallkill

[Languages]
Name: "russian"; MessagesFile: "compiler:Languages\Russian.isl"

[Files]
Source: ISTask.dll; DestDir: {app}; Flags: ignoreversion

[Code]
function RunTask(FileName: string; bFullpath: Boolean): Boolean;
external 'RunTask@{app}\ISTask.dll stdcall delayload uninstallonly';
function KillTask(ExeFileName: string): Integer;
external 'KillTask@{app}\ISTask.dll stdcall delayload uninstallonly';

procedure CurUninstallStepChanged(CurUninstallStep: TUninstallStep);
begin
  if CurUninstallStep = usUninstall then
  if RunTask('notepad.exe', False) then
    begin
      // прячем форму
      UninstallProgressForm.Visible:= False;
      if MsgBox('Программа Блокнот используется. Закрыть и продолжить удаление?', mbConfirmation, MB_YESNO) = IDYES then
        begin
          KillTask('notepad.exe');
          UnloadDll(ExpandConstant('{app}\ISTask.dll'));
          // показываем форму
          UninstallProgressForm.Visible:= True;
        end
      else
        begin
          MsgBox('Завершите работу Блокнот, затем снова запустите программу удаления.', mbInformation, MB_OK);
          UnloadDll(ExpandConstant('{app}\ISTask.dll'));
          Abort;
        end;
    end;
end;
Это сообщение посчитали полезным следующие участники:

Отправлено: 21:45, 11-11-2012 | #1251