می تونید از TWebBrowser.Document.execCommand استفاده کنید و IDM_SAVEAS را برای اولین پارامتر استفاده کنید. IDM_SAVEAS و execCommand در MSDN توضیح داده شده اند.
یا می تونید متن صفحه لود شده را بصورت string بگیرید و در یک TStringList بریزید و توسط متد SaveToFile ذخیره کنید:
var
AStringList : TStringList;
begin
AStringList := TStringList.Create;
try
AStringList.Add(Variant(WebBrowser1.Document).Body .innerHTML);
AStringList.SaveToFile('G:\Test\test.htm');
finally
AStringList.Free;
end;
end;
در روش دوم فقط سورس صفحه ذخیره میشه، اما روش اول همان IE SaveAs را فراخوانی می کند و کل اجزای صفحه را به همراه فایل HTML ذخیره می کند.
در ضمن، IDM_SAVEAS = 71 است.