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
tu peux créer un
WebRequest request = WebRequest.Create("http://MonSite&Param1?param1=value1¶m2=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"];
- Modifié DaliMghirbi lundi 28 janvier 2013 12:44
-
mercredi 30 janvier 2013 10:17Proprié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,
-
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:57Proprié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.
-
mercredi 30 janvier 2013 12:07
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
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
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
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
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
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
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
- Modifié DaliMghirbi jeudi 31 janvier 2013 17:15

