Ветеран

Сообщения: 1273
Благодарности: 1030
|
Профиль
|
Отправить PM
| Цитировать
Цитата R.i.m.s.k.y.:
как узнать запущено ли программа у пользователя или нет не используя WMI »
|
R.i.m.s.k.y.,
читать дальше »
Код: 
[code]
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; //FileName - имя exe-файла процесса
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;
procedure InitializeWizard();
begin
// запущен ли калькулятор
if IsProcessRunning('calc.exe') then
MsgBox('yes', mbInformation, MB_OK)
else
MsgBox('no', mbError, MB_OK);
end;
Цитата R.i.m.s.k.y.:
но не могу воспроизвести проблему с крашащимися WMI-запросами инсталлера, у меня все робит
Ошибка инсталлера - SWbemSecurity: Generic Failure »
|
R.i.m.s.k.y., пример можно?
Цитата BigBoo:
Можно ли и что прописать в скрипте, чтобы у скомпилированного приложения в папке Output была не стандартная, а нужная мне иконка, к примеру иконка exe-файла из {app}? »
|
BigBoo, иконку придется выдирать самому из файла и использовать с директивой SetupIconFile секции Setup.
|
Отправлено: 14:04, 22-11-2011
| #218
|