如何准备在PowerShell中创建GUI界面,你可能须要稍微了解什么是STA(Single-Threaded Apartment)和 MTA (Multi-Threaded Apartment)。MSDN的官位解释如下:
STA:http://msdn.microsoft.com/en-us/library/ms680112(v=vs.85).aspx
MTA:http://msdn.microsoft.com/en-us/library/ms693421(v=vs.85).aspx
在PowerShell 2.0 中,控制台默认为MTA:
PS C:\> $Host.Version Major Minor Build Revision ----- ----- ----- -------- 2 0 -1 -1 PS C:\> [threading.thread]::CurrentThread.GetApartmentState() MTA
在PowerShell 3.0 中,控制台默认为STA:
PS D:\> $Host.Version Major Minor Build Revision ----- ----- ----- -------- 3 0 -1 -1 PS D:\> [threading.thread]::CurrentThread.GetApartmentState() STA
例如你在PowerShell中定义了一个windows form组件,然后在子进程中尝试修改UI上面的值,可能就会遇到进程操作的异常。最好,能在脚本中提前进行判断。
原文链接:http://depsharee.blogspot.com/2011/06/powershell-sta-and-mta.html
本文链接: https://www.pstips.net/powershell-sta-and-mta.html
请尊重原作者和编辑的辛勤劳动,欢迎转载,并注明出处!
请尊重原作者和编辑的辛勤劳动,欢迎转载,并注明出处!
I can`t get the value on windows 2003 after i run the command:
ps c:>(gwmi win32_processor).loadpercentage
but i can get it on win7.do you know why ?
I think this post can help you.
Windows XP 或 Windows Server 2003 的计算机上,Win32_Processor 类返回不正确的名称属性的处理器
对 MTA 和 STA 的理解,还是很难理解到位。