[ Lancer une video .avi en C/C++]

[ Lancer une video .avi en C/C++] - Programmation

Marsh Posté le 18-02-2002 à 00:55:38    

Comment faire?
J'ai essayer avec un shellexecute mais ce ne semble pas fonctionner. Alors Je cherche une solution. QQ'1 en a t'il une ??

Reply

Marsh Posté le 18-02-2002 à 00:55:38   

Reply

Marsh Posté le 18-02-2002 à 08:54:40    

Insère un composant ActiveX de média player, et zouuu...

Reply

Marsh Posté le 18-02-2002 à 09:20:53    

Pas de probleme avec shellexecute ( mplayer2.exe mon.avi, regarde dans la bdr les autres arguments ). Les activex, vaut mieux les éviter quand on peut ca évite bien des problemes.

Reply

Marsh Posté le 18-02-2002 à 09:24:04    

KarLKoX a écrit a écrit :

Pas de probleme avec shellexecute ( mplayer2.exe mon.avi, regarde dans la bdr les autres arguments ). Les activex, vaut mieux les éviter quand on peut ca évite bien des problemes.  




 
ouais, mais c plus class que de lancer media player...
ça fait un peu comme si on avait programmé soit même le côté vidéo du truc ! :D
Et pourquoi tu dis d'éviter les activeX !? c propre comme truc !

 

[jfdsdjhfuetppo]--Message édité par El_Gringo--[/jfdsdjhfuetppo]

Reply

Marsh Posté le 18-02-2002 à 21:07:08    

Comment ca marche en fait les ActiveX pour en insérer un?
Quelqu'un s'y connait un peu et pourrait m'expliquer?

Reply

Marsh Posté le 18-02-2002 à 21:55:02    

en MFC ça se fait facilement : click droit sur un dialogue, il y aura une option comme 'ajouter un contrôle activex'.
 
sans les MFC, je sais pas trop ... dans la lib ATL y'a une class CAxWindow qui sert à ça : http://www.mindcracker.com/mindcra [...] l/atlw.asp
 
si tu n'utilises aucune des deux libs, tu peux copier coller leur code et le mettre dans ton projet.

Reply

Marsh Posté le 19-02-2002 à 10:14:08    

El_Gringo>c'est lourd, ca prend pas mal de ram et ca facilite trop le programmeur. Avec les DLL on en apprend un peu plus je trouve. Mais pour certains domaines complexes (gravure CD, algo de rendering), les activex ont leur place.

Reply

Marsh Posté le 19-02-2002 à 10:43:02    

KarLKoX a écrit a écrit :

El_Gringo>c'est lourd, ca prend pas mal de ram et ca facilite trop le programmeur. Avec les DLL on en apprend un peu plus je trouve. Mais pour certains domaines complexes (gravure CD, algo de rendering), les activex ont leur place.  




 
Ouais, enfin bon, une entreprise, elle s'en tape que ça facilite trop le boulot du programeur ! c même plutot mieux pr elle.
Cela dis, c vrai que c un peu énnervant. Ms comment tu veux faire, sachant que des programmeur surement meilleurs que nous (soyons réalistes) on programmé des trucs mieux que ce qu'on peut faire, et les mettent à notre disposition ! c dur de faire comme si ça existait pas !

Reply

Marsh Posté le 19-02-2002 à 11:38:30    

KarLKoX a écrit a écrit :

El_Gringo>c'est lourd, ca prend pas mal de ram et ca facilite trop le programmeur. Avec les DLL on en apprend un peu plus je trouve. Mais pour certains domaines complexes (gravure CD, algo de rendering), les activex ont leur place.


les activex sont souvent des dlls ...
 
c'est lourd ? un activex construit avec atl est souvent rikiki ...
 
ça prend un max de ram ? :heink: peut-être si c'est codé en vb, oui ...

Reply

Marsh Posté le 19-02-2002 à 12:16:04    

Le shellexecute fonctionne, c'est cool mais j'ai un autre pb.
 
Je voudrait le foutre en plein ecran alors j'ai essayé d'envoyer un p'tit alt+entrer à la fenêtre en recuperant son handle par un sendmessage, mais ca marche pas. Pt être que c'est pas la bonne méthode ou alors que le handle n'est pas le bon ??? please help me ..
 
voici mon code source :  
 
 ShellExecute (NULL,"open","mplayer2.exe","desintegration.avi","C:\WINDOWS\Bureau\GLarena\Mise en commun V2.0",SW_MAXIMIZE);
    Sleep(3000);
    hnd=GetForegroundWindow();
    SendMessage(hnd,WM_SYSKEYDOWN,VK_MENU,NULL);
    SendMessage(hnd,WM_KEYDOWN,VK_RETURN,NULL);
    SendMessage(hnd,WM_KEYUP,VK_RETURN,NULL);
 
Au passage qq'1 pourrait me dire ce que signifie le dernier param de sendmessage?
 
Merci.

Reply

Marsh Posté le 19-02-2002 à 12:16:04   

Reply

Marsh Posté le 19-02-2002 à 14:40:28    

les activex n'ont de dll que le nom, c'est plutot une DLL COM qui a un vecteur de tableau sur fonction. En initialisant un objet, on a acces a ses membres, on peut donc dire que vu son fonctionnement, ca ne marche pas comme une DLL native et en déduire que les activex sont une "espece" de DLL.
Mais bon, je ne les jettes pas completement, je comprend que certains les utilises.

Reply

Marsh Posté le 19-02-2002 à 14:41:29    

à la place des 3 SendMessage, essaye de mettre :
SendMessage (hnd, WM_SYSKEYDOWN, VK_RETURN, 0x60000000);
SendMessage (hnd, WM_SYSKEYUP, VK_RETURN, 0xC0000000);
 
je garanti rien pour pas mal de raisons:
 
- Ton hnd récupéré comme ça... je sais pas trop ! regarde si t'as pas plutot moyen de récupérer le hWnd principal d'un handle HINSTANCE (rendu par SellExecute).
- je suis pas sur de la notation du lParam que je t'ai donné. Parce que je suis pas bon en conversions Hexa/Binaire et autres... en fait, si tu lis la doc de WM_SYSKEYDOWN, tu vois que, pour faire ce que tu veux faire (Alt + une touche), il faut mettre le bit 29 à 1. Au passage, si je me suis pas planté, g mis le bit 30 à 1 aussi (vas voir ce que c).
 
Mais sinon, dans un SendMessage, les WParam et LParam sont des paramètres, qui changent selon le message que t'envois.
 
Voila, essaye déja ça.

 

[jfdsdjhfuetppo]--Message édité par El_Gringo--[/jfdsdjhfuetppo]

Reply

Marsh Posté le 19-02-2002 à 14:55:11    

KarLKoX > et c'est quoi une "dll com" ? une dll est ... une dll, point barre. si tu veux refaire un mécanisme similaire à com, tu peux : ça n'utilise rien de magique, ce ne sont que des conventions d'appel standardisés plus du code (optionnel) pour que l'objet soit manipulable par un script, le tout couplé avec la registry servant de répertoire.
 
tu ne rejettes pas com ? heureusement :) com est partout et super pratique. coder un objet et pouvoir l'utiliser dans word, ie, en php, ou dans ton applic est je trouve absolument génial.
 
pymousses > sinon, tu peux intégrer le media player directement dans ton appli, il doit sûrement y avoir une méthode fullscreen à appeler après.

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed