Flash Ripper RSS Readers

Flash Player Control, инструмент для внедрения Flash-приложений в среду Windows

Разработчики, использующие Flash в приложениях для Windows, конечно, уже знают о Flash ActiveX. Но, к сожалению, используя Flash ActiveX, программист сталкивается с рядом неприятных моментов, таких, как:

  • Чтобы flash-приложение нормально работало, требуется уже установленный в системе Flash ActiveX. Конечно, можно добавить в инсталляцию установку Flash ActiveX, но, если приложение распространяется на компакт-дисках и запускается непосредственно с CD, то едва ли такое решение приемлемо;
  • Flash ActiveX умеет загружать ролики только по URL-адресу. А ведь как было бы удобно, если бы можно было загружать ролики и прочие ресурсы (xml, jpg файлы и т.д.) непосредственно из памяти! Положил все необходимое в ресурсы приложения -- и готов монолитный исполняемый файл.

    Можно, конечно, сохранять все необходимое для загрузки во временные файлы, но что делать, если хочется скрыть свое творчество, да и кто
    знает, обладает ли достаточными правами тот пользователь системы Windows, под профилем которого работает приложение? Ведь прав на запись файлов может и не быть.

Недавно для таких проблем появилось решение. Наши соотечественники из компании Softanics разработали библиотеку FlashPlayerControl, представляющую из себя "умную" обертку вокруг Flash ActiveX.

Теперь появилась возможность использовать любой требуемый swflash.ocx/flash.ocx. Для этого достаточно при старте приложения указать, откуда загружать код swflash.ocx/flash.ocx. А загружать можно откуда угодно: из файла, находящегося в одном каталоге с приложением, или прямиком из ресурсов. При этом не создаются временные файлы и не происходит регистрации Flash ActiveX'а. А значит, нет проблем с правами пользователя. С помощью FlashPlayerControl также можно загружать флэш-ролики непосредственно из памяти.

Решение существует в виде двух редакций: для Delphi и как Windows DLL. Более подробную информацию можно получить на сайте разработчика, www.FlashPlayerControl.com (на Английском).

Данная разработка является платной. Конечно же, для соотечественников существуют скидки и возможность оплаты удобными способами (WM, почтовый/банковский перевод и т.д.). За более полной информацией обращайтесь по адресу: support (at) flashplayercontrol.com

// наверное, здесь должен быть текст "На правах рекламы", но Ф. Потрошитель продолжает оставаться некоммерческим проектом ;)

Писал Rost, 5 Январь 2005 16:48

Найдены баги:

Интересная разработка, но ничего военного в ней нет. Такой проблемой я тоже занимался полтора года назад для CD презентаций где требовалось наличие не только flash но и кодеков для видео. Не вдаваясь в глубоко в архитектуру Win32(в которой я много логически понять не могу :) ), все это решаеться довольно банально - простой динамической загрузкой dll(работает и для ocx) при старте приложения где это юзается. Итого получаеться несколько строчек кода. Так что кому надо попробуйте все должно получиться!

George Forest - 5 Январь 2005 18:33

Нет ничего хитрого, если не учитывать то, что можно грузить flash.ocx прямо из ресурсов проги, не сохраняя все во временный файл. Плюс загрузка мувиков из стримов - без временных файлов - не решается довольно банально, согласитесь ;)
Спасибо!

Softanics - 5 Январь 2005 19:21

А как к этому относится Макромедия? Получается что, купивший продукт у Softanics, сам и отвечает за юридические последствия.
Есть ли Softanics какое либо не виртуальное имущество - на случай регрессивного иска?

Сергей - 6 Январь 2005 8:19

Я вставлял flash в PowerPoint, потом презентацию проверял на машине на которой не было флеша. И все работало. Запускал с компакт диска.

iNils - 6 Январь 2005 13:04

А как к этому относится Макромедия? Получается что, купивший продукт у Softanics, сам и отвечает за юридические последствия.
Есть ли Softanics какое либо не виртуальное имущество - на случай регрессивного иска?
---

Сам отвечает, конечно. Единственное, что может предъявить Макромедия - это распространение swflash.ocx/flash.ocx вместе с приложением вопреки лицензии. Но, что касается загрузки мувиков из памяти, - тут все чисто, ничего не нарушается.

Softanics - 6 Январь 2005 17:48

[]распространение swflash.ocx/flash.ocx [/]
- а не думали спросить макромедию? мне кажется они не особо против распространения плеера и дадут разрешение без проблем.

Iv - 6 Январь 2005 20:17

- а не думали спросить макромедию?
///
Макромедия продает лицензии на распространение плеера (в частности на СД), и если, я куплю, то зачем мне Softanics? Между протчим, по словам юристов, Макромедия одна из самых "стервозных" фирм. В своей лицензионной политике она всегда оставляет для себя лазейки для претензий ко всем и вся.

Fish - 6 Январь 2005 23:23

В заметке написано, зачем: "Чтобы flash-приложение нормально работало, требуется уже установленный в системе Flash ActiveX. Конечно, можно добавить в инсталляцию установку Flash ActiveX, но, если приложение распространяется на компакт-дисках и запускается непосредственно с CD, то едва ли такое решение приемлемо". regsvr32 flash.ocx, даже если Лицензия у вас в кармане, никто не отменял. Плюс уже упомянутая непосредственная загрузка мувиков.

Softanics - 7 Январь 2005 0:43

Кстати, задал аналогичный вопрос (насчет распространения flash.ocx) разработчикам SWFKit. Обсуждение можно посмотреть тут:
http://www.swfkit.com/forum/thread_1_881.html

Softanics - 19 Январь 2005 14:43

http://www.multidmedia.com/software/zinc/index.php
програма загружает DLL и flash может сними работат ну а отсюда толка пут в перод....

Jenia - 21 Январь 2005 14:02

Скажите, как избавиться от всплывающего меню (при клике правой кнопкой мыши на встроенном в приложение ролике), если отменить в свойствах контролла, она все равно остается (в урезанном виде)? средствами c++ builder 5

Incognito - 2 Март 2005 11:28

Скажите, как избавиться от всплывающего меню?
--------------------------------------------
Можешь полесть в дебри COM интерфейсов, но у меня это не сработало под NT.
Проще перехватить сообщение:

//Header
//-----
public:
WNDPROC OldProcFlash;

//Implementation
LRESULT CALLBACK NewProcFlash(HWND hWnd, UINT msg, WPARAM w, LPARAM l)
{
if((msg == WM_RBUTTONDOWN)||((msg == WM_KEYDOWN)&&(w == 93)))msg = 0;

return CallWindowProc((FARPROC)Form1->OldProcFlash, hWnd, msg, w, l);
}

//****************
//в конструкторе например
OldProcFlash= (WNDPROC)SetWindowLong(Flash->Handle, GWL_WNDPROC, (long)NewProcFlash);

Jo - 28 Июль 2005 18:07

От вам проигрыватель :-)

#import "ActiveX\flash.ocx"
#include
#include
#include
#include
CComModule _Module;

#pragma comment(lib,"atl")
using namespace ShockwaveFlashObjects;

IShockwaveFlash* shwaveflash;

LRESULT CALLBACK FlashWindowProc(HWND hWnD, UINT message, WPARAM wParam, LPARAM lParam){
switch(message){
case WM_DESTROY:
PostQuitMessage(0);
break;
default: return DefWindowProc(hWnD, message, wParam, lParam);
}
return 0;
}

int APIENTRY WinMain (HINSTANCE hThisInst, HINSTANCE hPrevInst, LPSTR lpCmdLine, int nCmdShow){

//////////////// CREATE WINDOW
WNDCLASS wclFlash;

wclFlash.hInstance=NULL;
wclFlash.lpszClassName = L"AtlWin";
wclFlash.lpfnWndProc = FlashWindowProc;
wclFlash.style=CS_HREDRAW|CS_VREDRAW;
wclFlash.hIcon=NULL;
wclFlash.hCursor=NULL;
wclFlash.lpszMenuName=NULL;
wclFlash.cbClsExtra=0;
wclFlash.cbWndExtra=0;
wclFlash.hbrBackground=(HBRUSH)GetStockObject (BLACK_BRUSH);
RegisterClass (&wclFlash);

HWND flashHWND = CreateWindowEx(0,L"AtlWin",NULL,WS_OVERLAPPEDWINDOW, 0, 0, 640, 480, NULL, NULL, NULL, NULL);

HRESULT hr = S_OK;
hr = CoInitialize(NULL); if(hr != S_OK) return false;
if(!AtlAxWinInit()) return false;

hr = CoCreateInstance(__uuidof(ShockwaveFlash),0,CLSCTX_ALL, __uuidof(IShockwaveFlash), (void **)&shwaveflash); if(hr != S_OK) return hr;

AtlAxAttachControl(shwaveflash, flashHWND, 0)
shwaveflash->PutMovie("D://clock.swf");

while(1){
if(GetMessage (&msg, NULL, 0, 0)){
TranslateMessage (&msg);
DispatchMessage (&msg);
}
}

shwaveflash->Release();

AtlAxWinTerm();
CoUninitialize();
}

Усё, и за енто 299$ берут, ;-)

Сергей - 13 Март 2007 13:14



Это запись из категории 'Tools'. 10 еще cвежих:

Архивы по категориям:

3D-18, Adobe AIR-30, Animation-1, Apache Ant-1, Architecture-1, ARP-1, Art-25, Articles-26, AS3-52, Books-7, Business-3, Cairngorm-2, CI-1, Classes-10, Coding-30, Community-113, Components-19, Contests-28, Cool-Job-5, Debug-18, Design-26, Development-84, EMO-1, Events-13, Extensions-2, FAQ-8, FDS-1, Flash and html-5, Flash Player-35, Flash Updates-8, Flash-scene-1, flash10-4, FlashLite-2, Flex-30, Flex 2-80, Flickr-1, FMS-1, FPUG-46, frameworks-1, Games-11, Good Job!-35, HaXe-14, Health-2, Humor-10, Ideas-13, JavaScript-1, Job-26, JSFL-8, Links-2, Linux-1, Maps-1, Math-8, Money-11, MXML-1, Open Source-15, Optimization-2, Patterns-2, Personalities-27, Politics-1, Preloading-3, Productivity-9, PureMVC-10, Pv3d-1, Rafpug-4, Red5-3, Remoting-11, Resources-21, Ruby-6, SAAS-1, Security-11, SEO-8, Silverlight-5, Sound-3, Strategy-120, Tamarin-1, Tools-113, Training-2, Trash-8, URAFPUG-13, Urgent-1, Usability-6, Video-6, VoIP-5, Wallop-1, Wishlist-2, Архив всех записей (большой)

За последние месяцы:

Июл 2008: Международная встреча разработчиков URAFPUG завершена, URAFPUG - трансляция студии Flex-фреймворка Mate, весь Июл

Июн 2008: Попытка предварительных выводов о встрече аниматоров, Онлайн трансляция встречи аниматоров в Донецке, весь Июн

Май 2008: Если 3D, то по-взрослому: официальный запрос в Adobe по поводу контроля над мип-маппингом. Нужна ваша поддержка!, В этом году «Russian Flash Awards» пройдет в «космическом стиле», весь Май

Апр 2008: Программирование под флэш платформу. Cтатья (местами спорная), Advanced Flash Components бесплатно раздает все свои AS2-компоненты, весь Апр

Мар 2008: Зарплаты программистов в 2007 году, FlashPhone как технология года? Технология года? В Рунете?, весь Мар

Фев 2008: ЙА ФПУГ — регистрация на первую встречу UAFPUG продолжается, Закулисы Flex и секрет успеха опенсорс-проекта, весь Фев





Примечания:
Статус документа
: в процессе
   2002-2007 Производство: Рост Прибыли · О проекте · Подписка на новости (RSS)