SI.cbReserved2 := 0;
SI.lpReserved2 := nil;
SI.dwysize := 0;
- Windows.CreateProcess(nil,
+ if Windows.CreateProcess(nil,
PChar(Path),
nil,
nil,
nil,
nil,
SI,
- PI);
+ PI) then
+ begin
+ CloseHandle(PI.hProcess);
+ end;
+
end;
{!
\param BrowserType \83u\83\89\83E\83U\82Ì\83^\83C\83v(IE \82©\82Ç\82¤\82©)
}
procedure TGikoSys.OpenBrowser(URL: string; BrowserType: TGikoBrowserType);
+var
+ i, j : Integer;
+ path, arg : String;
+ params : TStringList;
begin
case BrowserType of
gbtIE:
HlinkNavigateString(nil, PWideChar(WideString(URL)));
gbtUserApp, gbtAuto:
- if (Setting.URLApp) and (FileExists(Setting.URLAppFile)) then
- GikoSys.CreateProcess(Setting.URLAppFile, URL)
- else
+ if (Setting.URLApp) then begin
+ if (FileExists(Setting.URLAppFile)) then begin
+ GikoSys.CreateProcess(Setting.URLAppFile, URL)
+ end else begin
+ // \8bN\93®\83p\83\89\83\81\81[\83^\95t\82«\91Î\8dô
+ path := '';
+ params := TStringList.Create;
+ try
+ params.Delimiter := ' ';
+ params.DelimitedText := Setting.URLAppFile;
+ for i := 0 to params.Count - 1 do begin
+ path := TrimLeft(path + ' ' + params[i]);
+ if (FileExists(path)) then begin
+ arg := '';
+ for j := i + 1 to params.Count - 1 do begin
+ arg := arg + ' ' + params[j];
+ end;
+ break;
+ end;
+ end;
+ if i < params.Count then begin
+ GikoSys.CreateProcess(path, arg + ' ' + URL);
+ end else begin
+ HlinkNavigateString(nil, PWideChar(WideString(URL)));
+ end;
+ finally
+ params.Free;
+ end;
+ end;
+ end else
HlinkNavigateString(nil, PWideChar(WideString(URL)));
end;
end;