![]() |
Странный вопрос.
Вопрос у меня действительно странный и поэтому самому его смысл до конца не понятен.
Итак, что требуется: На локальном компьютере, не подключенном к сети, лежит .html файл, назовем его «index». В нем расположены иконки, ведущие к различным, уже установленным в системе программам (соответственно в «Program Files»). Легким движением руки, шеф запускает необходимую ему программу, нажатием на выбранную иконку, то есть получается некий аналог рабочего стола. В чем проблема. Как и при загрузки из Сети, Explorer предлагает «открыть/сохранить» выбранный из директории «Program Files» файл. Подскажите пожалуйста, как избежать этого окна и запускать эксэшник напрямую? а то я тут уже кучу времени потратил, а надо срочно. Спасибо. |
Можно написать свой браузер на базе IE (ActiveX) и реализовать window.external, можно интегрировать mime тип за который будет отвечать программка делающая простой winexec, а вот можно ли это реализовать задачу ничего не делая я незнаю :)
|
Есть такой вариант:
Идёш в рееестр в HKCR\exefile\EditFlags и меняещ третью цифру справа на 1, т.е 38 07 00 00 -> 38 07 01 00. Теперь ВСЕ EXE файлы будут открываться без диалога. Желательно бэкапнуть этот ключ перед изменениями, на всякий случай |
joker99
К сожалению, после внесения изменений в реестр, все осталось по-прежнему…:( |
RaZEr : Хорошо сказано :).
joker99 :К тому что сказал Джо, можно еще добавить следующее: Для запуска приложений можно воспользоваться методом Run() объекта Wscript.Shell. Командная строка запуска приложения передается методу в качестве строкового параметра. Пример: var Myshell = new ActiveXObject("WScript.Shell") Myshell.Run("winword.exe c:\\mydocument.dopc") ...................................................................... ......... |
Вложений: 1
Я именно так и делал раньше. Кстати от себя могу добавить, что нужно писать в ДОСовском формате, т.к. возникает проблема с пробелами: Myshell.Run("C:\\Progra~1\\ и т.д.
Только теперьо вместо окна «открыть/сохранить» постоянно появляется вот это. |
Цитата:
|
Кстати, есть еще вариант зделать такую штуку на флеше, если откопаю дома, могу выложить, кому надо.
|
CEO
Отправь, если найдешь. Может хоть это поможет. |
2 Marsmax: Так а WScript.Shell.Run чем плох?
|
RaZEr
WScript всем хорош, но безопасность все равно отключить не смог. Окно ActiveX все равно вылезает, не знаю уже что и делать. Буду тыкаться дальше…:( |
Давай скрины настроек безопасности для Trusted Area.
|
RaZEr
А помогут ли скриншоты? Я и так все разрешил, все настройки уже ниже некуда. Думаю, что надо искать обходной вариант. И не подозревал, что все будет настолько муторно – не стоило и флудить. Но в любом случае, спасибо… |
Хм, сейчас посмотрел на этот интерфейс. Там оказывается есть еще "Local Intranet". Так вот наверно локальные файлы он относит именно к этой категории и безопасность нужно настроить именно для нее.
|
RaZEr
Там четыре закладки и, разумеется, их все я свел до минимума. Думаю, что это делается как-то по хитрому, не через IE. |
Да, что-то тупит IE. Настроек, которые бы могли убрать этот диалог просто нет.
Есть простая идея - использовать IIS. Пишем простой asp (можно и не asp) скрипт, который возьмет из параметра комманду и запустит ее. Т.е. на странице получим ссылки вида: http://127.0.0.1/winexec.asp?run=<комманда> |
Так, ну решил я проблему. Используя HTA - HTML Application (это такой тип HTML, который исполняется со всеми правами, т.е. как exe). Создаем простой winexec.hta, в нем:
Код:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN"> |
RaZEr
При таком раскладе все работает, но беда в том, что на выходе расширение только .hta, а надо html. |
Так ты роди для чего тебе это нужно.
|
RaZEr
Все, что было нужно, я подробно «родил» в первом посте. Спасибо за помощь. |
Цитата:
|
| Часовой пояс GMT +4, время: 22:33. |
Powered by vBulletin® Version 3.8.5
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.