Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Как в 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!


Наверх

Титульная страница Поиск, карта сайта Написать письмо