![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Как в WebBrowser1 при нажатии на html-ссылку выполнить программу? [D6, WinXP]
brestmarket © (2002-10-08 11:23:00)а также в WebBrowser1 открыть определенный каталог в shell (проводник).
int64 (2002-10-09 17:27:00) [1]myprotocolэто просто набор символов. Его можно вообще не писать.
Иногда удобно оформлять ссылки в виде:
href="Procedure1:\\Value", а потом в программе анализировать.
И тогда с браузера запускаются любые процедуры с параметрами.
Или как в твоём примере:
href="ShellExecute:\\c:\folder\subfolder\file.exe"
или
href="ShellExecute:\\c:\folder\subfolder\"
Когда сравниваешь стринги, надо следить за регистром. Это всетаки не идентификаторы. Диски обозначаются заглавными буквами.
brestmarket (2002-10-09 13:28:00) [2]Ссылка в html-файле такая:
c:\folder\subfolder\file.exe
Как записать ее для сравнения с url ?
p.s. Королевство Дельфи имеет 1 неработающий ответ на этот вопрос ;(!
brestmarket (2002-10-09 13:25:00) [3]Большое спасибо, int64.
Позвольте последний вопрос:
Где прочитать про варианты для записи вместо myprotocol - в help delphi - ничего про это не сказано, кроме вариантов about, res, https. Мне необходимо ссылку с локального диска сравнить с url - ничего не получается, в чем-же причина?
int64 (2002-10-09 03:19:00) [4]Например:
ShellExecute(handle, "", "", "C:\Program Files","", sw_normal);
или проводник:
ShellExecute(handle, "", "explorer", "C:\Program Files","", sw_normal);
brestmarket (2002-10-09 02:10:00) [5]Спасибо. Очень помогли. Интересовал также вопрос, как открыть любую папку не в WebBrowser, а в shell, т.е. в Проводнике.
int64 (2002-10-09 00:02:00) [6]
procedure TForm1.FormCreate(Sender: TObject);
begin
WebBrowser1.Navigate("about:<a href="myprotocol:\\mylink">Жми сюда</a>");
end;
procedure TForm1.WebBrowser1BeforeNavigate2(Sender: TObject;
const pDisp: IDispatch; var URL, Flags, TargetFrameName, PostData,
Headers: OleVariant; var Cancel: WordBool);
begin
if url="myprotocol:\\mylink" then
begin
Cancel:= True;
WinExec("Calc", 0);
WebBrowser1.Navigate("C:\Program Files");
end;
end;
brestmarket (2002-10-08 18:49:00) [7]Ребята, важный для меня вопрос. Please help!