|
Вопрос # 4 675/ вопрос открыт / |
|
Приветствую, уважаемые эксперты! Делаю оболочку для CD такую как у дисков Alex Soft, раньше я не знал как сделать чтобы открыть ссылку в веб браузере без запроса диалога загрузки, мне ответили я сделал, раньше при нажатии на ссылку выскакивал диалог "Открыть или сохранить", теперь сначала запускается приложение, а уже потом выскакивает этот диалог. Как сделать чтобы он не выскакивал вообще средствами Delphi. Я использую TWebbrowser (Delphi 6). Кстати я изучил оболочку от Alex Soft открыл её в Restorator и там написано, что она делалась на Delphi! Ниже представлен код, что надо дополнить, чтобы убрать диалог "Открыть Сохранить"?
Приложение: Переключить в обычный режим- var
- bExe: Boolean;
- sFileName: string;
-
- implementation
-
- procedure TForm1.HtmlwiewBeforeNavigate2(Sender: TObject;
- const pDisp: IDispatch; var URL, Flags, TargetFrameName, PostData,
- Headers: OleVariant; var Cancel: WordBool);
- var
-
- begin
- bExe:=false;
-
- If ext='.exe' then
- begin
- bExe:=true;
- sFileName:=URL;
-
- if bExe then
- begin
- try
- ShellExecute(Handle,'open',pchar(sFileName),pchar(''),nil,SW_SHOWDEFAULT);
- finally
- end;
- Cancel:=False;
- end;
- end;
-
- end;
- end.
 |
Вопрос задал: Slava_Tarasov (статус: Посетитель)
Вопрос отправлен: 22 октября 2010, 23:21
Состояние вопроса: открыт, ответов: 0.
|
Мини-форум вопроса
Всего сообщений: 5; последнее сообщение — 24 октября 2010, 15:31; участников в обсуждении: 2.
|
Вадим К (статус: Академик), 23 октября 2010, 16:45 [#1]:
А почему у Вас Cancel стоит как False? насколько я помню, он должен быть True. Что бы как бы отменить совершаемый переход.
Если это не поможет, то можно попробовать выставлять URL в виде URL исходной страницы или страницы "спасибо, что установили продукт ".
Галочка "подтверждения прочтения" - вселенское зло.
|
|
Slava_Tarasov (статус: Посетитель), 23 октября 2010, 22:06 [#2]:
Спасибо! Изменил "Cancel как true" всё работает! теперь понятно как разработчики дисков Alex Soft делают свои оболочки для дисков! Только хотелось бы узнать как дополнить запуск не только exe файлов ну и например архив .rar, к примеру на диске будут распологаться не только файлы установки, но и архивы! Стоит воспользовать оператором "or" или как?
|
|
Вадим К (статус: Академик), 24 октября 2010, 13:33 [#3]:
не знаю, как Вы собрались применять оператор or, но на самом деле все очень просто. Вы можете сделать как Вам хочется - просто на странице, где нужно кликать, поставить ссылки на архивы. Так как используется ShellExecute, то будут открываться не только архивы, а и pdf документы, и вордовские, главное, что бы у пользователя были установлены соответствующие программы (Acrobat Reader, Microsoft Word, OpenOffice). Причем, будет открыто именно той программой, которая бы открыла этот файл двойным кликом в проводнике.
Естественно, если у пользователя не установлен архиватор WinRAR, и никакие другие программы не привязаны к этому расширению, то открыть не получится (скорее всего появится стандартный диалог выбора программы для открытия файла.
Галочка "подтверждения прочтения" - вселенское зло.
|
|
Slava_Tarasov (статус: Посетитель), 24 октября 2010, 14:00 [#4]:
Спасибо! Ну это понятно! А подскажите как можно узнать установлена ли на машине пользователя та или иная программа, например проверить установлен ли архиватор (любой не только win rar) т.е нужну найти в системе программу, которая способна открыть необходимый файл, чтобы, если при открытии архива и если не установлен в системе архиватор дать рекомендацию по установке архиватора и запустить программу установки! Наверное чтобы это реализовать нужна сложная функция...
|
|
Вадим К (статус: Академик), 24 октября 2010, 15:31 [#5]:
можно пойти прямым путем - просто посмотреть в реестре, есть ли привязка какой то программы к расширению rar (ну или zip - архивы ведь разные бывают). Правда иногда случается, что некоторые пользователи привязывают какие то "левые программы", но это отдельная история. Почитайте здесь - может и возникнут идеи, как узнать, какая программа привязана к расширению )
Галочка "подтверждения прочтения" - вселенское зло.
|
Чтобы оставлять сообщения в мини-форумах, Вы должны авторизироваться на сайте.
|