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

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

Аватара для R.i.m.s.k.y.

Ветеран


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

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


Цитата SatHan:
не устраивает ISTask.dll. хотелось бы без него обойтись еси можна. »
Код: Выделить весь код
const
    TH32CS_SNAPPROCESS = $2;
    INVALID_HANDLE_VALUE = -1;

type
    TPROCESSENTRY32 = record
        dwSize, cntUsage, th32ProcessID: DWORD;
        th32DefaultHeapID: Longint;
        th32ModuleID, cntThreads, th32ParentProcessID: DWORD;
        pcPriClassBase: Longint;
        dwFlags: DWORD;
        szExeFile: array [0..259] of char;
    end;

function CreateToolhelp32Snapshot(dwFlags, th32ProcessID: DWORD): THandle; external 'CreateToolhelp32Snapshot@kernel32.dll stdcall';
function Process32First(hSnapshot: THandle; var lppe: TPROCESSENTRY32): Boolean; external 'Process32First@kernel32.dll stdcall';
function Process32Next(hSnapshot: THandle; var lppe: TPROCESSENTRY32): Boolean; external 'Process32Next@kernel32.dll stdcall';
function CloseHandle(hObject: THandle): Boolean; external 'CloseHandle@kernel32.dll stdcall';


function IsProcessRunning(FileName: String): Boolean;
var
    hProcessSnap: THandle;
    pe32: TPROCESSENTRY32;
    szExeFile: String;
begin
  hProcessSnap := CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, 0);
  if hProcessSnap = INVALID_HANDLE_VALUE then Exit;
  pe32.dwSize := sizeof(pe32);
  if not Process32First(hProcessSnap, pe32) then Exit;
  while not Result and Process32Next(hProcessSnap, pe32) do
  begin
    szExeFile := '';
    while not (pe32.szExeFile[Length(szExeFile)] = #0) do szExeFile := szExeFile + pe32.szExeFile[Length(szExeFile)];
    Result := LowerCase(FileName) = LowerCase(szExeFile);
  end;
  CloseHandle(hProcessSnap);
end;

function InitializeSetup(): Boolean;
begin
  If IsProcessRunning('notepad.exe') then begin
    MsgBox('блокнот запущен. пожалуйста закройте блокнот и запустите установку заново.', mbInformation,  MB_OK);
    Exit;
  end;
Result:=True;
end;

-------
Хороший установщик тот, которого не замечаешь
Оформление в инно пустая трата времени: толку мало, головняка много, а ошибок истчо больше!

Это сообщение посчитали полезным следующие участники:

Отправлено: 08:07, 30-09-2012 | #1040