Помощь · Поиск · Пользователи · Календарь
Полная версия этой страницы: открытие проводника из под флеш ролика
Flash Zone Forum > Macromedia Flash > ActionScript
Godzilla
 идея такова: есть флеш-ролик который находится на флеш накопителе, когда его втыкают в комп - автоматически запускается ролик во флеш плеере, при нажатии на кнопку в ролике плеер закрывается и дожен открыться проводник флеш накопителя, так вот как именно запустить проводник по закрытию плеера и чтоб он отображал именно флешку (устройство)?
AlexYeCu
А что, кто-то сидит под windows с включённым автозапуском?!
камикадзе, блин...
Читать fscommand. Возможно придётся упаковать в старую версию плеера. В любом случае решение криво, бо win-only.

Код
on (press) {
    getURL("my_home_folder");
}


Как вариант. Папка откроется интернет- браузером.
Godzilla
 сейчас попробую так, просто у меня почемуто fscommand ("exec","путь к файлу") не работает.
MustLive
Цитата
так вот как именно запустить проводник по закрытию плеера и чтоб он отображал именно флешку (устройство)?

Godzilla

Данную задачу можно решить двумя путями. Причём только с помощью AS просто это сделать не получится - вариант с getURL не подойдёт, т.к. открывает в браузере, а нужно в файловом менеджере.

1. Использовать внешние среды разработки, например Visual Basic. В котором используется ActiveX компонент с флешкой. В данном случае по закрытию окна средствами используемого языка (VB) определяется текущая директория и вызывается проводник с указанием текущей директории.

2. Использовать батник. Во флеше вызывается батник, в котором уже вызывается проводник (с указанием текущей директории).

Цитата
сейчас попробую так, просто у меня почемуто fscommand ("exec","путь к файлу") не работает.

Этот вариант не сработает, причём начиная с 6 флеша. Данный синтаксис был ещё в 5 флеше, но начиная с флеш 6 он более не работает, и нужно по другому использовать fscommand. О чём на форуме мы не раз писали.

Рассмотрим второй вариант.

Во флешке, которая будет у тебя в виде exe-файла, сделай кнопку для выхода из программы и назови её exit. В кадре задай следующий код:
Код
_root.exit.onRelease = function () {
    fscommand("exec","explorer.bat");
    fscommand("quit");
}

В папке (в данном случае это будет корень флеш-диска) рядом с флешкой создай папку fscommand. В которой создай файл explorer.bat с следующим содержанием:
Код
explorer.exe ..\

И теперь откомпилируй флешку в exe-файл и проверь её работу. Алгоритм будет работать как задумано: при закрытии флешки будет открываться папка с корнем флеш-диска.
Godzilla
 сделал через батник все заработало, спасибо.
MustLive
Godzilla, всегда пожалуйста.
lll
Уважаемый MustLive! Спасибо за пояснения к этому примеру. Сделал все, как написано... но, увы, при клике по кнопке окно проводника не открывается. В чем проблема! Приношу свои извинения... Материал выложен давно, но я наткнулся на него только сейчас... Заранее благодарю.
MustLive
lll

Этот метод рабочий и используется многими людьми в течении многих лет.

Если у тебя, что-либо не работает, то или ты в коде допустил ошибку, или у тебя более новая версия флеша и Адоб в очередной раз "закрыл дыру в безопасности" путём урезания функционала. Который они же сами и сделали, и его начали активно использовать разработчики, после чего до Адоба дошло, что данный функционал - это дыра и они начали "исправлять её" (таких случаев было множество и с каждым годом их всё больше).

Во-первых, данный метод предназначен для стационарных флешек. А во-вторых, данный код для AS1/AS2. Если всё равно у тебя не работает и у тебя последние версии Флеш редактора, то с учётом вышесказанного, проблема может быть в них, и тебе нужно взять более старую версию Флеш редактора (например, Flash 8).
webs-
Подскажите плз, проблема почти та же, флешкой из броузера открыть проводник и выбрать файл с компьютера юзера для загрузки во флешку. Можно конечно извернуться через сервер. т.е. сначала загрузить на север а оттуда во флешку, но очень хочется красиво сделать...


упс, уточнение smile.gif через FileReference все делается, но глюк у меня неслабый, не грузит фотки если они глубже третьего уровня вложения лежат, т.е. если  я гружу фотку из D:\myDirrect\myPapka\111.jpg - все ок, а если еще одна папка - D:\myDirrect\myPapka\myEshePapka\111.jpg - фиг, пишет ошибка при открытии файла.... И самое главное - не работает если загрузить на сервер, вообще не грузится....

Как от этого избавиться? Плз
MustLive
Цитата
Подскажите плз, проблема почти та же, флешкой из броузера открыть проводник и выбрать файл с компьютера юзера для загрузки во флешку.

webs-

Проблема не та же. В этой теме рассматривался вопрос открытия программы из флешки, в частности проводника (и мы не раз рассматривали тему открытия произвольных программ и файлов из флешки при её локальном запуске). В твоём же случае речь идёт об аплоадере, что мы на форуме также обсуждали wink.gif. Использование FileReference тебе поможет.

Цитата
не грузит фотки если они глубже третьего уровня вложения лежат

С таким глюком не сталкивался. Так что не знаю, в чём может быть проблема (в идеале такого быть не должно). Если у тебя никак не хочет грузить при большом уровне вложенности, значит работай только с допустимым уровнем вложенности. А также почитай документацию по FileReference, возможно там этот вопрос уже рассмотрен.

Цитата
И самое главное - не работает если загрузить на сервер, вообще не грузится....

У тебя флешка явно настроена на работу только в локальном контексте. Поэтому срабатывает ограничение безопасности (при размещении на сайте). Ты определись для локальной или онлайн работы у тебя флешка, после чего правильно настрой флешку. И если ты делаешь загрузчик на сайт, то почитай документацию по FileReference, чтобы знать как делать аплоадеры.
Русская версия IP.Board © 2001-2017 IPS, Inc.