Я разрабатываю дополнение к игре/плагин, который заменяет встроенную функцию онлайн-игры. Поэтому игра загружает .swf, поэтому мое решение также должно быть swf, чтобы оно работало «в игре».Выполнение внешнего .exe из локального .swf с использованием локального сервера XML Socket (C#)
Я хотел бы как, чтобы иметь возможность нажать кнопку в пользовательском .swf, который я создаю - и это откроет внешнее приложение (между прочим). То есть если бы была кнопка с надписью «Блокнот», она открыла Notepad.exe на машине.
Мое первоначальное мышление состояло в том, что у меня мог быть запуск «daemon» сервера XML Socket (C#), с которым я мог бы подключиться со вспышкой - однако, поскольку и swf, и демон локальны, флэш жаловался и выдавал эту ошибку :
"Error #2010: Local-with-filesystem SWF files are not permitted to use sockets."
Единственный способ, который я знаю, чтобы исправить это - изменить настройки безопасности вспышки - не очень удобно!
Итак! Какие-нибудь мысли о том, как я мог иначе это сделать? Я думал, что пользовательский http-сервер может сделать трюк (связанный с URLRequest), хотя я не слишком уверен.
Вы можете рассмотреть возможность упаковки пользовательского swf в качестве приложения AIR: http://www.adobe.com/products/air.html. Это дает гораздо более разрешительную среду выполнения, больше возможностей, чем те, которые вы упоминаете, чем запуск регулярного swf. –
Проблема с этим - это должен быть .swf, загруженный в игру. Я никогда не использовал AIR, но я предполагаю, что это не расширение .swf. – Jonathan
ОК. Если ваш пользовательский swf должен быть загружен в игру swf, тогда AIR не может быть и речи, это правильно. Я думаю, что в этом случае будет трудно запустить внешний .exe. Если .exe - это то, что вы разрабатываете, и конечный пользователь должен его установить, это можно сделать, зарегистрировав собственный протокол, который ваш .exe настроен для обработки, и который можно вызывать из ActionScript в качестве URL-адреса, например, myapp: // command/start "или такой. Но я далек от уверенности, что это может сработать, я не тестировал его (из Flash) сам. –