Question Detection mode STA ou MTA
- Richard Lazaro
- Auteur du sujet
- Hors Ligne
- Membre platinium
-
Réduire
Plus d'informations
- Messages : 530
- Remerciements reçus 0
il y a 15 ans 2 mois #7579
par Richard Lazaro
Think-MS : (Get-Life).Days | %{ Learn-More }
\\"Problems cannot be solved by the same level of thinking that created them.\\" - Albert Einstein
Detection mode STA ou MTA a été créé 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.
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.
- Richard Lazaro
- Auteur du sujet
- Hors Ligne
- Membre platinium
-
Réduire
Plus d'informations
- Messages : 530
- Remerciements reçus 0
il y a 15 ans 2 mois #7584
par Richard Lazaro
Think-MS : (Get-Life).Days | %{ Learn-More }
\\"Problems cannot be solved by the same level of thinking that created them.\\" - Albert Einstein
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.
[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.
- Laurent Dardenne
- Hors Ligne
- Modérateur
-
Réduire
Plus d'informations
- Messages : 6311
- Remerciements reçus 68
il y a 15 ans 2 mois #7587
par Laurent Dardenne
Tutoriels PowerShell
Réponse de Laurent Dardenne sur le sujet Re:Detection mode STA ou MTA
Richard Lazaro écrit:
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 .
Tu peux relancer le process comme indiqué dans ce post .Ce qui est embêtant pour la création de script utilisant WPF qui nécessite un mode STA ...
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.
- Richard Lazaro
- Auteur du sujet
- Hors Ligne
- Membre platinium
-
Réduire
Plus d'informations
- Messages : 530
- Remerciements reçus 0
il y a 15 ans 2 mois #7588
par Richard Lazaro
Think-MS : (Get-Life).Days | %{ Learn-More }
\\"Problems cannot be solved by the same level of thinking that created them.\\" - Albert Einstein
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
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.
- Laurent Dardenne
- Hors Ligne
- Modérateur
-
Réduire
Plus d'informations
- Messages : 6311
- Remerciements reçus 68
il y a 15 ans 2 mois #7591
par Laurent Dardenne
Tutoriels PowerShell
Réponse de Laurent Dardenne sur le sujet Re:Detection mode STA ou MTA
Richard Lazaro écrit:
Richard Lazaro écrit:
L'entré du blog citée en parle dans le détail.Pour le Invoke-Apartment : J'aime pas ne pas savoir ce que ça fait
Richard Lazaro écrit:
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.Donc je me demande si elle est pas dans une dll
Tutoriels PowerShell
Connexion ou Créer un compte pour participer à la conversation.
Temps de génération de la page : 0.081 secondes
- Vous êtes ici :
-
Accueil
-
forum
-
PowerShell
-
Entraide pour les initiés
- Detection mode STA ou MTA