Lexa_AV Цитата: Во многих cdshell, написанных на delphi, производится запуск exe прямо из html. Если использовать WebBrowser, то он спрашивает "Блин! Так вы хотите выполнить EXE!!! Давайте его лучше сохраним на диске!". Как этого избежать???
можно так... на стандартном TWebBrowser:
Код: uses
//...
ShellAPI;
type
TMainForm = class(TForm)
//...
StopBtn: TToolButton; // Action -> StopAction
//...
ActionList1: TActionList; // добавить StopAction
//...
var
bEXE : boolean;
sFilename : string;
procedure TMainForm.WebBrowser1BeforeNavigate2(Sender: TObject;
const pDisp: IDispatch; var URL, Flags, TargetFrameName, PostData,
Headers: OleVariant; var Cancel: WordBool);
var
ext : string;
begin
bEXE := false;
ext := ExtractFileExt(URL);
if ext = '.exe' then
begin
bEXE := true;
sFilename := URL;
exit;
end;
//...
end;
procedure TMainForm.WebBrowser1DownloadBegin(Sender: TObject);
begin
if bExe then exit;
//...
end;
procedure TMainForm.WebBrowser1DownloadComplete(Sender: TObject);
begin
if bExe then
begin
bNavigateComplete := true;
StopClick(self);
try
ShellExecute(
handle,
'open',
pchar(sFilename),
pchar(''),
'',
SW_SHOWDEFAULT);
finally
end;
exit
end;
//...
end;