|
Вопрос # 4 587/ вопрос открыт / |
|
Здравствуйте!
Уважаемые эксперты я точно не знаю к какому разделу отнести свой вопрос, поэтому укажу его здесь. Вопрос такой: Покупая какой либо диск с софтом мы видим автозагрузку диска сделанную в разных программах, на некоторых autorun сделана оболочка со встроенной html страницей с ссылками на установку софта, нажимая на ссылки сразу начинается установка программы без вывода диалога "Открыть" "Сохранить". Когда я делаю такую автозагрузку, записываю на диск и пробую нажать на ссылки выскакивает этот диалог! Открыл html страницу в редакторе изучил теги ничего особенного не увидел! Как сделать что бы не было этого диалога? Помогите кто знает! Очень надо записать диск с html страницей! Заранее спасибо!!!
 |
Вопрос задал: Slava_Tarasov (статус: Посетитель)
Вопрос отправлен: 17 сентября 2010, 20:59
Состояние вопроса: открыт, ответов: 0.
|
Мини-форум вопроса
Всего сообщений: 10; последнее сообщение — 21 сентября 2010, 19:49; участников в обсуждении: 4.
|
Ерёмин А.А. (статус: *Администратор), 19 сентября 2010, 11:52 [#1]:
Цитата (Slava_Tarasov):
Открыл html страницу в редакторе изучил теги ничего особенного не увидел!
Ну должно же быть какое-то отличие, раз у них работает, а у вас нет?
|
|
Slava_Tarasov (статус: Посетитель), 19 сентября 2010, 14:03 [#2]:
Вот мне тоже очень интересно это узнать, где там отличия!
|
|
Slava_Tarasov (статус: Посетитель), 19 сентября 2010, 14:05 [#3]:
Почему то никто не отвечает на мой вопрос! Неужели никто не знает!
|
|
Ерёмин А.А. (статус: *Администратор), 19 сентября 2010, 19:32 [#4]:
Дык вы бы выложили оба варианта, а там посмотрим.
P.S. Вообще не приветствую оболочки в виде HTML. Они может и проще в реализации, но программа надёжнее.
|
|
Вадим К (статус: Академик), 20 сентября 2010, 16:32 [#5]:
А все очень просто. Обрабатывается событие OnNavigate. Там анализируется, куда хочет перейти броузер. Если это ссылка на программу (она не обязательно должна быть действительной!), то просто запускаем exe файл и не даем броузеру перейти.
Галочка "подтверждения прочтения" - вселенское зло.
|
|
Slava_Tarasov (статус: Посетитель), 20 сентября 2010, 21:07 [#6]:
Здравствуйте Вадим! Это значит вместо тэга (a Href=) нужно указать OnNavigate или как?
|
|
Вадим К (статус: Академик), 20 сентября 2010, 23:08 [#7]:
Нет. код ссылки должен выглядеть так
<a href="prog1.exe">крутая программа 1</a>
У webbrowser в инспекторе объектов находим на вкладке events событие OnNavigate (точно я его название не помню, может быть оно называется "OnBeforeNavigate").
Там есть два параметра - в одном передается адрес страницы, на которую броузер пытается перейти - его берем и анализируем. Второй параметр имеет приставку var - то есть его можно модифицировать и вызывающий код узнает об этом. Я не помню имя этого параметра, но там по названию понятно. Он булевой и если правильно выставить ему значение, то можно не дать броузеру идти дальше.
Итого, алгоритм. Смотрим на ссылку. Если правильная - пусть идет дальше, нет - запускаем прогу и не даем идти дальше.
Галочка "подтверждения прочтения" - вселенское зло.
|
|
DNK (статус: Студент), 21 сентября 2010, 09:18 [#8]:
type TWebBrowserBeforeNavigate2 = procedure(Sender: TObject; const pDisp: IDispatch; var URL: OleVariant; var Flags: OleVariant; var TargetFrameName: OleVariant; var PostData: OleVariant; var Headers: OleVariant; var Cancel: WordBool) of object;
property OnBeforeNavigate2: TWebBrowserBeforeNavigate2;
"Digital Networked Knight"
|
|
Вадим К (статус: Академик), 21 сентября 2010, 10:12 [#9]:
вот, теперь даже код могу набросать (это пример!!!, он не гарантировано рабочий)
if (ExtractFileExt(URL) = '.exe' ) then begin //то есть это исполняемый файл
WinExec(URL, 0);//тут можно (и нужно) применять и другие методы запуска
cancel:=False; // дальше не переходить
end;
конечно, нужно убедиться, что в URL будет такой путь, что его можно будет "исполнить", если же нет, то кто мешает его модифицировать
Галочка "подтверждения прочтения" - вселенское зло.
|
|
Slava_Tarasov (статус: Посетитель), 21 сентября 2010, 19:49 [#10]:
Спасибо большое за предложенные варианты буду пробовать, надеюсь получится!
|
Чтобы оставлять сообщения в мини-форумах, Вы должны авторизироваться на сайте.
|