Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   Flash Приложения: AIR, Zinc и тд. (http://www.flasher.ru/forum/forumdisplay.php?f=94)
-   -   Как с помощью flash-приложения запускать программы и приложения Windows XP (http://www.flasher.ru/forum/showthread.php?t=115440)

Нимбу 29.08.2008 23:12

Как с помощью flash-приложения запускать программы и приложения Windows XP
 
Мне необходимо спомощью флеш оболочки запускать файлы с разными расширениями... что бы не было предложения сохранить либо открыть. Просто нажав флеш-кнопку запустить любимую игру и т.д.
Заранее спасибо.:)

DarkLight 29.08.2008 23:22

1) Нормально с помощью Zinc:
Цитата:

System.exec()

Usage
mdm.System.exec(exePath:String):Void

Parameters

exePath:String Path to file or application.

Description

Executes the File or Application. Any File type or Application can be launched using this method.

Example
Simple Usage:
mdm.System.exec("Notepad.exe");
2) Можно создать папку FSCOMMAND, положить туда bat-файл или приложение, делающее все необходимое. Такой вариант обсуждался, поискав по форуму можно найти реализацию

Нимбу 30.08.2008 00:56

DarkLight спасибо за написанное но я не шарю в ActionScript, ты не мог бы по подробнее с примером расписать последовательность действий:wacko:

GFreemen 22.09.2008 03:10

День добрый.
Не буду открывать новую тему, просто расширю вопрос:
Как открыть определенный файл вордом из-под флеша?
С помощью mdm.System.exec("winword.exe") можно только запустить ворд, но как только поставишь после winword.exe ПРОБЕЛ и путь с именем файла- ничего не запускается.

alexcon314 22.09.2008 14:25

mdm.System.execStdOut();

GFreemen 23.09.2008 12:18

Попробовал. Похоже, что mdm.System.execStdOut(); предназначена только для запуска консольных приложений и вывода их ответа. Потому как с примерным var StdOut = mdm.System.execStdOut("ipconfig /all"); все работает нормально и в StdOut сохраняется конфигурация сети.
Но mdm.System.execStdOut("winword.exe"); не запускается вообще.
Так, что вопрос остается открытым.

alexcon314 23.09.2008 14:19

Код:

mdm.System.execStdOut("cmd /c start winword");
На счет консольных приложений вы правы, конечно. Так научитесь ими пользоваться :).
В общем случае:
Код:

mdm.System.execStdOut("cmd /c start [path_to_application [cmdline_parameters]]");

GFreemen 24.09.2008 00:43

Век живи, век учись, дураком помрешь.
Большое спасибо за помощь.
Буду дерзать.

UAJulik 25.10.2008 20:48

А есть вариант открыть, скажем, папку CD-диска из SWF-ки без fscommand и EXE-builder-ов? Чтобы было понятнее... Реализовать консольную команду "explorer f:" или, может, есть возможность обойдись без буквенного обозначения для универсальности.
И что такое ZINC? Я пробовал реализовать, то что написано выше, но ничего не получилось.

Rzer 25.10.2008 21:24

ActionScript не позволяет. Zinc - это своего рода расширение FlashPlayer'a, которое получает запросы от swf и отправляет обратно необходимую информацию (например содержание папки)

alexcon314 26.10.2008 00:00

Во флэш приложении, имеется в виду флэш-проектор, ничего кроме функции fscommand нет для запуска других приложений. Ее область применения довольно ограничена. Потому и придумывают разные "EXE-builder"-ы. Просто открыть папку можно так:
Код:

getURL("file:///f:\\my_folder");
Только вот откроется папка в окне веб-браузера...

Tails 20.12.2008 05:14

Тоже нужно сделать во Флеши 8 ссылки на папки, но чтоб они не открывались через браузер, пока пишу так:
Код:

getURL("Компьютерная анимация/Интерактивность во Flash");
при этом сперва загружаеться браузер, затем он тутже закрываеться и открываеться нужная папка, как сделать обычную ссылку на открытие папки ? Неужели во флеши нет спец. команды для такова простова действия ?

alexcon314 20.12.2008 12:34

Специальной команды нет. Есть возможность запускать .bat-файлы с помощью
Код:

fscommand("exec","batnik.bat");
в батнике написать
Код:

start [path_to_folder]

chingachgoog 12.02.2009 21:46

Хм. почемуто не открывает окно при
Код:

mdm.System.execStdOut("explorer "+mdm.Application.path+моя_папка);
Хотя если просто написать
Код:

mdm.System.execStdOut("explorer "+mdm.Application.path);
то открывает директорию, где цинковский экзешник лежит
Да и путь моя_папка написан правильно (если написать неправильно, то Цинк ругается, а тут просто молчок)

:(

alexcon314 12.02.2009 22:03

А просто exec? И потом, моя_папка добавляется к mdm.Application.path, на конце которого, не помню уже, есть слэш или нету? А то, что не ругается, так на то он и StdOut. Ты попробуй посмотреть, что эта штука возвращает.
ЗЫ. Как-то не удобно, давай на ты, если не против.

chingachgoog 12.02.2009 22:05

Просто exec папку не открывает...

add:

Уф-уф заработался
глюк какой-то был - конечно exec открывает...

add2:Да, надо будет посмотреть завтра, что StdOut там возращает, что не работает. Но на сегодня хватит :)
Меня удовлетворило, что exec заработал!!!

NB! Конечно, давай на ты - без проблем. Просто я первым не предлагаю, особенно модераторам :)

alexcon314 13.02.2009 08:44

Вложений: 1
Гуд.
Вот простой пример. Попросили.

chingachgoog 13.02.2009 13:10

Посмотрел, что возращает execStdOut - ничего не возращает, пустую строку """".
mdm.Application.path на конец добавляет обратный слеш \
В конец строки моя_папка и добавлял слеши (прямой и обратный) и не добавлял - без изменений.

alexcon314 13.02.2009 16:12

Ну тогда не знаю..
можно так попробовать
Код:

mdm.System.execStdOut("start "+mdm.Application.path+моя_папка);

chingachgoog 13.02.2009 16:56

Та же дыня, только сбоку. :)
Тут даже mdm.Application.path не открывает

KiL33 13.02.2009 18:27

Сорри, может чуть-чуть не в тему.
А можно ли не только запускать ворд, но и делать запись в него?
Типа того
Код:

var txtStr:String = "anytext";
mdm.System.exec("winword",txtStr);

:)

alexcon314 14.02.2009 21:50

Так, как вы предложили - нет.
Напрямую работать с .doc(x) файлами цинк не может.
Однако, можно использовать для этого vb-script.
http://www.flasher.ru/forum/showpost...00&postcount=8

Добавлено через 1 час 57 минут
Цитата:

Та же дыня, только сбоку.
Тут даже mdm.Application.path не открывает
Код:

mdm.System.execStdOut("cmd /c start "+mdm.Application.path+моя_папка);
Тогда так. У меня, кстати, StdOut вообще глючил - пишет что чего-то там не может сделать и дает ссыль на темповский файл в названии которого присутствует StdOut, не помню уже точно, но по ходу распаковывает цинк из ехе чего-то для этого модуля перед запуском команды, как и для остальных модулей, наверно...

KiLL33, ваш вопрос и впрвду не в тему.

KiL33 15.02.2009 09:13

Ошибка при запуске vbs:
'Незавершенная строковая константа'

alexcon314 15.02.2009 23:35

И?
Вам разжевали, в рот, извиняюсь, положили, так еще и глотать за вас?

KiL33 16.02.2009 11:12

Сорри, больше не буду задавать лишних вопросов :away:

chingachgoog 16.02.2009 15:10

Цитата:

Сообщение от alexcon314 (Сообщение 798300)
Код:

mdm.System.execStdOut("cmd /c start "+mdm.Application.path+моя_папка);
Тогда так.

Так заработало. Но с огромнейшей задержкой (где-то секунд 40 окно открывает) и только для латинского пути к моя_папка - для русского не работает.

Ну и ладно. execUnicode работает и то дело. А эмдеэмовцам значит есть над чем работать :)

dmitry bond 31.05.2010 04:33

из первого примера , почемуто не работает , мне необходимо с помощью flash запустить myinstal.exe , который находится в той же папке.
Помагите пожалуйста , лучше примером кода


Часовой пояс GMT +4, время: 04:35.

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.