2009-07-07 7 views
2

Dans le cadre d'un lecteur multimédia personnalisé écrit en C (Win32), je dois activer mon application lire des films flash (fichiers .swf) dans la fenêtre du lecteur. Quelqu'un peut-il s'il vous plaît indiquer le moyen le plus bas niveau compatible C pour y parvenir, en me donnant le plus grand contrôle? Contrôle particulièrement sur la fenêtre d'affichage et l'accès au réseau.Comment lire des fichiers Flash en C pur?

Je cherche une référence à une DLL Windows comme flash_player.dll (s'il y a une telle chose) avec de la documentation. Ou au moins un contrôle COM/ActiveX. Notez que ActiveX est plus difficile à utiliser dans C que dans VB.

Répondre

4

Code occasion de: http://support.microsoft.com/kb/218442/EN-US/

//*Place at the top of your CAxDialogImpl class 
#import "flash.ocx" rename_namespace("FLASH") 
FLASH::IShockwaveFlashPtr m_spFlash; 


//This code gets added to your OnInitDialog function of the window 
LRESULT OnInitDialog(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled) 
{ 
CAxWindow wnd; 
CLSID clsid; 
LPUNKNOWN pUnkCtrl, pUnkCont; 
HRESULT hr = CLSIDFromString(OLESTR("{D27CDB6E-AE6D-11CF-96B8-444553540000}"), &clsid); 
hr = CoCreateInstance(clsid, NULL, CLSCTX_ALL, IID_IUnknown, 
(void**)&pUnkCtrl); 
CComQIPtr <IPersistStreamInit> spPerStm(pUnkCtrl); 
spPerStm->InitNew(); 

m_spFlash = pUnkCtrl; 
wnd.Attach(m_hWnd); 
wnd.AttachControl(pUnkCtrl, &pUnkCont); 

m_spFlash->PutMovie(_bstr_t(_T("C:\\Documents and Settings\\murk\\Desktop\\Chlorine\\ccc_main.swf"))); 
} 
+0

-1, C++ non C. C n'a pas de cours ni méthodes. – MSalters

+0

De toute façon bonne info, si cela fonctionne en C++, je peux probablement le convertir en C. – CDR

+2

Oh man, COM en pur C. . . pas gentil. Possible, mais les pointeurs volent partout. – dreamlax

Questions connexes