Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

Sujet : Process mettre un lecteur media en pleine ecran [ Multimédia / Image et Vidéo ] (gabs77)

samedi 17 mai 2008 à 21:31:43 | Process mettre un lecteur media en pleine ecran

gabs77

Bonjour,
J'utilise Process pour lancer un exécutable multimédia dans mon application.
dont voici le code en dessous :

Process

p = newProcess();
public Form1()
{
  InitializeComponent();
  try
  {
    p.StartInfo.UseShellExecute =
false;
    p.StartInfo.FileName =
@"C:\Program Files\Windows Media Player\wmplayer.exe";
    p.StartInfo.Arguments = @"C:\MesVidéos\cockatoo.wmv";
    p.Start();
  }
  catch (Exception e)
  {
    MessageBox.Show(e.Message);
  }
}

Je souhaiterais savoir comment dans la programmation je peux lancer directement en plein écran sans avoir  à toucher média player ?? et surtout si c'est possible ??

dimanche 18 mai 2008 à 11:30:19 | Re : Process mettre un lecteur media en pleine ecran

Charles Racaud

Membre Club
Salut,

Suffit de lui envoyer le message :

[

DllImport("user32.dll")]
privatestaticextern System.IntPtr FindWindow(string strClassName, string strWindowName);
[
DllImport("user32.dll")]
privatestaticexternint SendMessage(System.IntPtr hWnd, int Msg, int wParam, int lParam);
privateconstint WM_COMMAND =0x111;
privateconstint WMP_FULLSCREEN =0x495E;

System

.IntPtr WmpHandle = FindWindow("WMPlayerApp", "Windows Media Player");
SendMessage(WmpHandle, WM_COMMAND, WMP_FULLSCREEN,
0x0);

__________
  Kenji


dimanche 18 mai 2008 à 11:31:20 | Re : Process mettre un lecteur media en pleine ecran

Charles Racaud

Membre Club

Je repose car ca c'est mal mis en forme :

[DllImport("user32.dll")]
private static extern System.IntPtr FindWindow(string strClassName, string strWindowName);

[DllImport("user32.dll")]
private static extern int SendMessage(System.IntPtr hWnd, int Msg, int wParam, int lParam);

private const int WM_COMMAND = 0x111;
private const int WMP_FULLSCREEN = 0x495E;

/* ... */

System.IntPtr WmpHandle = FindWindow("WMPlayerApp", "Windows Media Player");
SendMessage(WmpHandle, WM_COMMAND, WMP_FULLSCREEN, 0x0);

__________
  Kenji


dimanche 18 mai 2008 à 21:46:31 | Re : Process mettre un lecteur media en pleine ecran

gabs77

Charles Racaud,
Merci d'avoir répondu aussi vite mais le code n'a pas l'air de fonctionner lorsque j'effectue un pas à pas FindWindow retourne un handle = 0
Par conséquent, je pense qu'il y a quelque chose qui ne va pas !!
Est ce que je pourrais savoir sur quoi tu te base pour récupérer le nom de la classe et le nom de la fenetre (pour celui je pense que c'est le nom de l'éxécutable ???) ainsi que les valeurs des 2 constantes.
Comme cela, je pourrais comprendre son principe et chercher plus concrètement de mon coté et au besoin apporté les modifications si je veux l'appliquer à un autre programme.



DllImport ( "user32.dll" )]
private s tatic extern IntPtr FindWindow( string strClassName, string strWindowName);
[
DllImport ("user32.dll")]
private static extern int SendMessage(System.IntPtr hWnd, int Msg, int wParam, int lParam);
private const int WM_COMMAND =0x111;
private const int WMP_FULLSCREEN =0x495E;


IntPtr WmpHandle = FindWindow( "WMPlayerApp" , "Windows Media Player" );
SendMessage(WmpHandle, WM_COMMAND, WMP_FULLSCREEN,
0x0 );


dimanche 18 mai 2008 à 22:30:34 | Re : Process mettre un lecteur media en pleine ecran
dimanche 18 mai 2008 à 22:32:54 | Re : Process mettre un lecteur media en pleine ecran
dimanche 18 mai 2008 à 22:35:00 | Re : Process mettre un lecteur media en pleine ecran

Charles Racaud

Membre Club
Réponse acceptée !
Salut,

Pour cela, il faut que tu t'aide de la Spy++
http://logiciel.codes-sources.com/logiciels/Spy-174.aspx

Ouvre Media Player et lance la Spy++
Tu devrai le trouver dans la liste des fenêtre ouvertes. Là il apparaît le titre de la fenêtre et sa classe. Info qu'il faut mettre dans le FindWindow pour retrouver l'handle. Si elles sont différentes, met à jour avec celles que tu as.

Ensuite, pour les valeurs, WM_COMMAND est une valeur constante utilisé par le SendMessage. Sert à envoyer les messages de commandes aux applications.
Pour le WMP_FULLSCREEN, là, j'ai encore utilisé la Spy++ pour connaître la valeur.
Clique droit dans la liste sur la fenêtre MediaPlayer, puis messages, il faut ensuite filtrer, Ctrl+O, sur l'onglet message, dans la liste, tu sélectionne WM_COMMAND, tu applique.
Reste plus qu'à aller dans le MediaPlayer, (l'application cette fois), de le toucher un peu (le mettre en full screen par exemple), et hop, il apparaît dans la spy++ la valeur du message qui t'intéresse.


Après, il conviendra peut-être de mettre une tempo entre l'ouverture de wmp et du passage en mode pleine-écran

dimanche 18 mai 2008 à 22:41:48 | Re : Process mettre un lecteur media en pleine ecran

bubbathemaster

Sinon on peut lancer WMP et faire un SendInput Alt+Entrée non?

dimanche 18 mai 2008 à 23:26:54 | Re : Process mettre un lecteur media en pleine ecran

gabs77

Merci pour ces infos !! Cela me sera d'une aide inconsidérable !
J'ai pu corrigé l'erreur que voici ; et désormais ça fonctionne !!

IntPtr
WmpHandle =FindWindow( "WMPlayerApp", "Lecteur Windows Media");

En revanche, il reste juste un dernier point auquel je ne suis pas parvenu à trouver :

Pour le WMP_FULLSCREEN, là, j'ai encore utilisé la Spy++ pour connaître la valeur.
Clique droit dans la liste sur la fenêtre MediaPlayer, puis messages, il faut ensuite filtrer, Ctrl+O, sur l'onglet message, dans la liste, tu sélectionne WM_COMMAND, tu applique.
Reste plus qu'à aller dans le MediaPlayer, (l'application cette fois), de le toucher un peu (le mettre en full screen par exemple), et hop, il apparaît dans la spy++ la valeur du message qui t'intéresse
.
J'ai suivi tes consignes, lancer WMP puis lancer Spy++ et le retrouver dans la liste des fenêtres > clic droit > Messages
Je stop l'enregistrement pour pouvoir accéder au options du journal et sélectionne uniquement WM_COMMAND j'applique, rédemarrer l'enregistrement et je manipule media player mais rien ne s'affiche

dimanche 18 mai 2008 à 23:35:57 | Re : Process mettre un lecteur media en pleine ecran

gabs77

bubbathemaster ,
je ne connais pas SendInput dans quelques références se trouve-t-elle ?
Aurais tu un exemple de code a me proposer ??
Cdlt.


1 2

Cette discussion est classé dans : process, lecteur, media, pleine, startinfo


Répondre à ce message

Sujets en rapport avec ce message

Executer une application sur un serveur [ par MayDuroc ] J'ai une application sur un poste client qui execute une application.    Process currentProcess = Process.GetCurrentProcess();&nbsp Lancer commande dos / process [ par plop3000 ] Bonjour, j'essaye de lancer une commande dos via un process mais je n'y parviens pas dans tout les cas.Par exemple, j'ai fait :    System.Diagnostics. Mapper un lecteur Reseau [ par ChrisTof ] Bonjour J'aimerai savoir comment faire pour mapper un lecteur réseau en C# sans utiliser : System.Diagnostics.Process.Start("net.exe",@"use b: \\s_ser windows media player [ par godefrw ] Bonjour,Je viens d'installer le service pack 2 sur mon ordi. Evidemment cela a mis à jour windows media player, et apparemment il ne faut plus coder d Comment désactiver l'autostart d'un lecteur window media player? [ par godefrw ] Bonjour, j'ai incorporé un lecteur windows media player dans mon application. J'a le service pack 2 et la mise à jour de windows media player. Je ch Lancement d'un process DOS + Récupération de l'output [ par Fly95 ] Salut,je suis en train de programmer un outil permettant de lancer des processus de copie. Ces processus se servent en partie de XCOPY et d'autres API Commande dos [ par ansizak ] Bonjour, j'ai tenté d'intégrer une ligne de commande dos dans une richtextbox qui fonctionne selon le mode suivant:l'utilisateur entre une ligne de co Executer un process, sous un nom d'utilisateur spécifique, par un service windows [ par Rastafman ] Bonjour à tous, Voilà je me retrouve face à un problème assez étrange. J'ai créé un service Windows qui doit lancer un process sous un utilisateur spé UAC et Process.Start [ par scoubidou944 ] bonsoir,j'ai une petite application qui tourne dans le system tray avec des droits normaux.Or elle doit lancer l'autre appli qui elle demande l'élévat Ouvrir plusieurs fichiers en même temps à partir de l'exploreur [ par Cryel ] Salut,Je développe un lecteur mp3 en C# et je veux faire en sorte que si je sélectionne plusieurs fichiers audio dans l'explorateur windows, je voudra


Nos sponsors

Sondage...

CalendriCode

Novembre 2008
LMMJVSD
     12
3456789
10111213141516
17181920212223
24252627282930

Consulter la suite du CalendriCode

Téléchargements

Logiciels à télécharger sur le même thème :



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel BAÏSE, Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 0,328 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.