Hello!
Olyan megoldast keresek amivel egy C/C++ programmal tudnek iranyitani egy Adobe Flash programot. Valami olyasmi megoldas kene, hogy meg tudjak nyitni a Flash programot ugy hogy az egy pufferbe renderelje a kepet es a programomtol fogadjon el esemenyeket. (Csak kattintasok es szovegbevitel.)
A legjobb az lenne ha mar letezne ehhez egy library ami mukodik Linux alatt.
(B tervnek az is jo lenne ha valaki tudna dokumentaciot arrol, hogy NPAPI-s plugin-okat hogyan lehet beepiteni egy programba. Picit tobb munka lenne, de ha nincs mas lehetoseg...)
Elore is koszonom!
- 1488 megtekintés
Hozzászólások
zsubb (sub)
[insert line here]
B.C. 3500 - DIY Vehicle / A.D. 30 - DIY Religion / A.D. 1991 - DIY OS
- A hozzászóláshoz be kell jelentkezni
+1
- A hozzászóláshoz be kell jelentkezni
Amikor nekem kellett ilyen, akkor raktam egy kis mini http server-t a C kódba (kb 50 sor), ami egyetlen egy url-t tudott kiszolgálni. A flash pedig sima http kérést hajtott végre, és úgy olvasta ki az eseményeket, amikre reagált, és post kéréssel adta vissza az eredményt, ha volt.
- A hozzászóláshoz be kell jelentkezni
ebben az esetben ez nem jarhato, mert a flash program az adott...
Tulajdonkeppen a program alltal renderelt kepet szeretnem feldolgozni es az alapjan eventeket kuldeni a flash programnak. Pl. fekete a hatter -> klikk ide, zoldre valtott -> klikk oda...
- A hozzászóláshoz be kell jelentkezni
Bar en nem vagyok nagy szaki ebben, de a Socket class nem lett volna elegansabb?
- A hozzászóláshoz be kell jelentkezni
Nézd meg a Qt-t, ott is a QWebview osztály környékét.
http://doc.qt.nokia.com/4.7/qwebview.html
Anno még 4.2 alatt csináltam ilyet, már akkor is egész jól működött, de azóta sokat javítottak rajta. Most már tudsz javascript/C++ hook-okat is berakni, javascriptből pedig tudsz (ha saját, vagy van API-ja) a flash programoddal kommunikálni. Annak idején végigpróbáltam és működött, de most már nincs meg az a demo kód.
- A hozzászóláshoz be kell jelentkezni
hmm... egeszen biztato... Van esetleg arra valami megoldas, hogy ennek a kimenete ne jelenjen meg a kepernyon, viszont a programom alltal hozzaferheto legyen?
- A hozzászóláshoz be kell jelentkezni
- A hozzászóláshoz be kell jelentkezni
Koszonom! Ugyan nem a legelegansabb megoldas, de a celnak megfelel majd:
1. buta browser QT-vel (vagy esetleg akar egy teljes FF? miert is ne.. majd kiderul...)
2. Xvfb-ben futtatas
3. Xvfb-bol kep lekerese
- A hozzászóláshoz be kell jelentkezni
Szia!
Ezek szerint nem értem, mit akarsz csinálni, de bármit is, az biztosan megoldható a te C++ programodon belül.
A Qt komponenst tudod láthatatlanná tenni.
bool isVisible () const
Vagy egyszerűen kipozicionálod a látható képernyő területről. A renderelt képét szerintem szintén ki tudod nyerni valamilyen bitmapben, ha mást nem akkor windows szinten.
Nézd át az API-t, hogy mit lehet belül és kezd el használni a google-t :).
Első körben pl. ilyet találtam, 4 sor:
QImage img(mywidget.size());
QPainter painter(&img);
mywidget.render(&painter);
img.save("/some/file.jpg");
- A hozzászóláshoz be kell jelentkezni
Még az jutott eszembe, hogy egy widgetnél az összes eventet meg tudod szűrni, és csak azt engedni tovább amit ténylegesen akarsz.
- A hozzászóláshoz be kell jelentkezni
Itt van egy tesztkód, talán el tudsz indulni vele ...
Jónéhány swf-et simán le lehet játszani vele.
Mivel csak egy része van implementálva az npapinak, nem fog minden működni.
- A hozzászóláshoz be kell jelentkezni