Question Detection mode STA ou MTA

Plus d'informations
il y a 15 ans 2 mois #7579 par Richard Lazaro
Bonjour à tous,

Je créé énormément d'interface graphique en WPF (plus joli, plus ergonomique et surtout plus facile à mettre en place); malheureusement il est nécessaire de lancer PowerShell en mode -sta.

J'aimerais vérifié que PowerShell est bien lancé en -sta avant de commencer l'affichage de mon WPF, est ce qu'une personne aurait déjà recherché des réponses pour ce problème ?

Bien Cordialement,
Richard Lazaro.

Think-MS : (Get-Life).Days | %{ Learn-More }

\\"Problems cannot be solved by the same level of thinking that created them.\\" - Albert Einstein

Connexion ou Créer un compte pour participer à la conversation.

Plus d'informations
il y a 15 ans 2 mois #7584 par Richard Lazaro
Réponse de Richard Lazaro sur le sujet Re:Detection mode STA ou MTA
Bon, pour détecter le mode dans lequel se trouve PowerShell (Threaded Apartments), voici la commande :

[code:1]$Host.Runspace.ApartmentState[/code:1]

Elle retourne 3 valeurs possible :
- STA : Single-Threaded Apartments
- MTA : Multi-Threaded Apartments
- Unknow : Threaded Apartments non spécifié

Par contre, vu que le mode est associé au runspace. On est obligé de relancer un process powershell en lui indiquant le mode d'execution :

[code:1]PowerShell.exe -sta
PowerShell.exe -mta[/code:1]

Ce qui est embêtant pour la création de script utilisant WPF qui nécessite un mode STA ...

Bien Cordialement,
Richard Lazaro.

Think-MS : (Get-Life).Days | %{ Learn-More }

\\"Problems cannot be solved by the same level of thinking that created them.\\" - Albert Einstein

Connexion ou Créer un compte pour participer à la conversation.

Plus d'informations
il y a 15 ans 2 mois #7587 par Laurent Dardenne
Richard Lazaro écrit:

Ce qui est embêtant pour la création de script utilisant WPF qui nécessite un mode STA ...

Tu peux relancer le process comme indiqué dans ce post .
Une sorte de 'Respawn', le seul truc génant c'est le rechargement du profile, si celui-ci est conséquent
Il y a aussi cette possibilité , autour de Invoke-Apartment .

Tutoriels PowerShell

Connexion ou Créer un compte pour participer à la conversation.

Plus d'informations
il y a 15 ans 2 mois #7588 par Richard Lazaro
Réponse de Richard Lazaro sur le sujet Re:Detection mode STA ou MTA
Oui, j'ai déjà pensé à cela.
sinon, on créé un nouveau process powershell en mode -sta.

EDIT : Pour le Invoke-Apartment : J'aime pas ne pas savoir ce que ça fait, et j'ai pas trouvé dans quel fichier .psm1 il se trouve. Donc je me demande si elle est pas dans une dll ...<br><br>Message édité par: Richard Lazaro, à: 11/08/10 15:18

Think-MS : (Get-Life).Days | %{ Learn-More }

\\"Problems cannot be solved by the same level of thinking that created them.\\" - Albert Einstein

Connexion ou Créer un compte pour participer à la conversation.

Plus d'informations
il y a 15 ans 2 mois #7591 par Laurent Dardenne
Richard Lazaro écrit:

Pour le Invoke-Apartment : J'aime pas ne pas savoir ce que ça fait

L'entré du blog citée en parle dans le détail.
Richard Lazaro écrit:

Donc je me demande si elle est pas dans une dll

Oui, soit tu utilises la version associée à PSCX 1.2 ( je ne sais pas si elle est encore distribuée avec la dernière version de ce projet), soit celle fournie avec Add-lib, le code est +- identique.

Tutoriels PowerShell

Connexion ou Créer un compte pour participer à la conversation.

Temps de génération de la page : 0.081 secondes
Propulsé par Kunena