redirection vers une page web à partir d'une application WPF

Traitée redirection vers une page web à partir d'une application WPF

  • lundi 28 janvier 2013 11:25
     
     

    Bonjours à tous, 

    J'ai fais une application WPF pour la reconnaisance de gestes à partir d'une caméra vidéo.

    L'application marche bien et les gestes sont reconnues sauf que  je veux faire une redirection vers une page web qui va contrôler des actionneurs selon le geste reconnu (exp: allumer ou éteindre une lampe).

    Donc ma question c'est comment insérer un lien http pour accéder à une page web à partir d'une application WPF.

    Merci pour toute proposition :)


    DKF


    • Modifié pink192y lundi 28 janvier 2013 11:26
    •  

Toutes les réponses

  • lundi 28 janvier 2013 12:41
     
      A du code

    tu peux créer un 

    WebRequest request = WebRequest.Create("http://MonSite&Param1?param1=value1&param2=value2");

    Plus de détail ici 

    http://msdn.microsoft.com/en-us/library/debx8sh9(v=vs.80).aspx

    et sur ton site , plus présicément dans l'événement page load, tu peut récupérer tes paramètre avec QueryString

    string v = Request.QueryString["Param1"];



  • mercredi 30 janvier 2013 10:17
    Propriétaire
     
     

    Bonjour,

    Est-ce que vous avez testé les solutions proposées ? Merci de partager avec nous les résultats, afin que d'autres personnes avec le même problème puissent profiter de cette solution.

    Cordialement,


    Aurel BERA, Microsoft
    Microsoft propose ce service gratuitement, dans le but d'aider les utilisateurs et d'élargir les connaissances générales liées aux produits et technologies Microsoft. Ce contenu est fourni "tel quel" et il n'implique aucune responsabilité de la part de Microsoft.

  • mercredi 30 janvier 2013 10:26
     
     

    Bonjour et je m'excuse pour le retard

    j'ai vus le lien, et j'ai essayé de faire la même chose.

    le problème c'est qu'il s'agit d'une application WPF et non pas une application web comme expliquée dans le code.

    je ne maîtrise pas c# donc je sais pas faire la liaison entre une application web et une application WPF :(



    DKF

  • mercredi 30 janvier 2013 11:57
    Propriétaire
     
     

    Ici vous avez un exemple pour WebRequest.

    http://msdn.microsoft.com/en-us/library/system.net.webrequest.aspx

    Vous pouvez l’utiliser même dans un projet WPF.

    De l’autre cote, pour envoyer des paramètres vers la page ASP.NET, vous le récupérez avec Request.QueryString.


    Aurel BERA, Microsoft
    Microsoft propose ce service gratuitement, dans le but d'aider les utilisateurs et d'élargir les connaissances générales liées aux produits et technologies Microsoft. Ce contenu est fourni "tel quel" et il n'implique aucune responsabilité de la part de Microsoft.

  • mercredi 30 janvier 2013 12:07
     
      A du code

    tu peux l'utiliser avec du WPF , il suffit d'ujouter le using 

    using System.Net;

    Dali

  • mercredi 30 janvier 2013 14:23
     
     

    Oui Dali j'ai déjà ajouté cette référence :)

    Aurel merci, je cherche à modifier le code je vous tiens informer en tout cas ^^ 


    DKF


    • Modifié pink192y mercredi 30 janvier 2013 14:24
    •  
  • mercredi 30 janvier 2013 15:51
     
     

    je ne connais pas l'architecture de ton appli, mais je pense que pour implémenté un truc pareil (exécuté des instruction depuis un wpf sur un serveur distant), il est plus propre de faire un web service ou un WCF

    Dali

  • jeudi 31 janvier 2013 09:48
     
      A du code

    Bonjour, 

    J'ai essayé ce code mais, il n'y a pas d'accès à la page web demandée 

     private void Window_Loaded(object sender, RoutedEventArgs e)
            {
               
    
                WebRequest myRequest = WebRequest.Create("http://192.168.16.152/micom/lamp.php?room=entree&order=0");
                HttpWebResponse response = (HttpWebResponse)myRequest.GetResponse();
                // Display the status.
                Console.WriteLine(response.StatusDescription);
                // Get the stream containing content returned by the server.
                Stream dataStream = response.GetResponseStream();
                // Open the stream using a StreamReader for easy access.
                StreamReader reader = new StreamReader(dataStream);
                // Read the content. 
                string responseFromServer = reader.ReadToEnd();
                // Display the content.
                Console.WriteLine(responseFromServer);
                // Cleanup the streams and the response.
                reader.Close();
                dataStream.Close();
                response.Close();
    }

    Qu'est ce que j'ai manqué ? 


    DKF

  • jeudi 31 janvier 2013 10:43
     
     Traitée A du code

    J'ai essayé ton code il marche bien, 

    en revanche si tu veut simplement ouvrir la page WEB il suffira simplement de faire ça:

    private void Window_Loaded(object sender, RoutedEventArgs e)
            {
    Process.Start("IExplore.exe", "http://localhost:4231/Default.aspx?room=entree&order=0");
    }

    et noublie pas d'ajouter le using 

    using System.Diagnostics;

    • Marqué comme réponse pink192y jeudi 31 janvier 2013 11:45
    •  
  • jeudi 31 janvier 2013 11:15
     
      A du code

    Merci beaucoup Dali :)

    Process.Start("IExplore.exe", "http://localhost:4231/Default.aspx?room=entree&order=0");
    

    ça marche bien avec cette commande, mais pourquoi deux pages IE s'ouvrent ? 

    c'est la même chose quand tu l'a essayé ?

     

    DKF

  • jeudi 31 janvier 2013 11:55
     
     

    Autre chose, 

    Y a pas Process.Close()  ? car je trouve pas une méthode pour fermer !


    DKF

  • jeudi 31 janvier 2013 13:31
     
      A du code

    Non ça ouvre une seule instance de IE,

    soit tu passe deux fois par la ligne de code, soit t'a un problème avec IE, essaye de terminer le processus avant de retester

    tu peux aussi ouvrir la fenètre avec chrome:

     Process.Start("chrome.exe", "http://localhost:4231/Default.aspx?room=entree&order=0");

  • jeudi 31 janvier 2013 13:57
     
      A du code

    Non, j'ai fais qu'une seule ligne de code, mais pour terminer le processus 

    j'ai utilisé

    Process.Kill

     et 

    Process.CloseMainWindows()

    Les deux commandes ne sont pas reconnus, sont elles pas dans la librairie 

    Using System.Diagnostic;

     ?


    DKF

  • jeudi 31 janvier 2013 14:26
     
      A du code

    Pour fermer la fenère il faut commencé par la repèrer dans les processus qui tourne

                Process[] prs = Process.GetProcesses();
                foreach (Process pr in prs)
                {
                    if (pr.ProcessName.ToUpper() == "IExplore".ToUpper() && pr.MainWindowTitle.ToUpper().Contains("Google".ToUpper()))
                    {
                        pr.CloseMainWindow();
                    }
                }

    RQ: remplace par une chaine "Google" par une chaine contenu dans le titre de ta fenètre