Bonjour, je viens vous exposer un petit problème que je rencontre.

J'ai deux applications. D'un coté un programme (une barre), installée sur la barre de tâche, et de l'autre mon programme principal.

Ces deux applications communiques via des sockets. J'arrive pour le moment à afficher des informations de mon programme principal dans ma barre.

En gros, il y a un compteur dans mon programme, que je partage avec ma barre.
Celle-ci doit pouvoir mettre le compteur en pause.
Pour celà, je transmet via une socket, l'information lors du clic a mon programme, qui va demander l'ouverture d'une fenetre "pause".

Mais là se trouve le problème. Lorsque je test ce fameux clic, une erreur survient :
Impossible d'instancier le contrôle ActiveX 'd27cdb6e-ae6d-11cf-96b8-444553540000', car le thread actuel n'est pas un thread cloisonné (STA, Single-Threaded Apartment)
A la ligne suivant :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
this.axShockwaveFlashCC = new AxShockwaveFlashObjects.AxShockwaveFlash();

Sachant que :
- J'ai un thread dans chacun des deux programmes, que j'ai cloisonné
Code : Sélectionner tout - Visualiser dans une fenêtre à part
this.listenThread.SetApartmentState(ApartmentState.MTA);
(J'ai essayé aussi avec STA)

- Lorsque je met le compteur en pause directement à partir de mon programme, je n'ai aucune erreur (et pourtant j'appelle la même fonction).

- J'ai la ligne [STAThread] placée correctement


Pourriez vous me donner un coup de pouce ?
Merci d'avance et bonne journée.