Bonjour, je suis débutant en C# j'ai jusque là fais que de l'Autoit.
J'avais bien avancé dans un projet de bot, mais trop bloqué par l'impossibilité de faire du multhithreading, je m'essaye au C# !
J'ai aussi fais un créateur de comptes D2 entièrement fonctionnel en Autoit.
Mais maintenant que je me suis mis au WPF en C# je me retrouve bloqué à une étape ! J'ai du mal avec les threads, delegates & co..
Mon problème, c'est que lors du téléchargement + affichage de la captcha, mon UI se fige alors que je passe bien par un thread ( enfin je crois ).
Je m'en remet donc à vous en vous joignant le code ci-dessous :
( S'il manque des infos ou du code j'ajouterais à la demande )
Obtention de la captcha ( certes pas propre, c'est le début juste dans le but de tester déjà )
Mon évènement lors du clic sur le bouton de génération de celle-ci :
Voilà, ma captcha s'affiche très bien, mais lors de son affichage ma fenêtre ne "répond pas". Ca doit sauter aux yeux mais tout ceci n'est pas encore très clair pour moi
J'avais bien avancé dans un projet de bot, mais trop bloqué par l'impossibilité de faire du multhithreading, je m'essaye au C# !
J'ai aussi fais un créateur de comptes D2 entièrement fonctionnel en Autoit.
Mais maintenant que je me suis mis au WPF en C# je me retrouve bloqué à une étape ! J'ai du mal avec les threads, delegates & co..
Mon problème, c'est que lors du téléchargement + affichage de la captcha, mon UI se fige alors que je passe bien par un thread ( enfin je crois ).
Je m'en remet donc à vous en vous joignant le code ci-dessous :
( S'il manque des infos ou du code j'ajouterais à la demande )
Obtention de la captcha ( certes pas propre, c'est le début juste dans le but de tester déjà )
Code:
public void GetCaptcha()
{
WebClient oMyWebClient= new WebClient();
oMyWebClient.Proxy = null;
Byte[] ImageInBytes= oMyWebClient.DownloadData("http://api.ankama.com/captcha.png");
MemoryStream ImageStream = new MemoryStream(ImageInBytes)
BitmapImage bmpCaptcha = new BitmapImage();
bmpCaptcha.BeginInit();
bmpCaptcha.StreamSource = ImageStream;
bmpCaptcha.EndInit();
this.ImageCaptcha.Source = bmpCaptcha; // Affichage de la captcha dans le control ImageCaptcha
}
Code:
private void button_RechargerCaptcha_Click(object sender, RoutedEventArgs e)
{
ThreadStart Thread_GetCaptcha = delegate()
{
Dispatcher.BeginInvoke(DispatcherPriority.Normal, new Action(GetCaptcha));
};
new Thread(Thread_GetCaptcha).Start();
MessageBox.Show("Fini.."); // Accessoire évidemment
}