2008-10-19 74 views
3

类似this question,运行下面的代码浏览器对话框不会与所有正确的按钮出现,但选择面积usally显示可用的文件夹后丢失:通话的FolderBrowserDialog

[void] [Reflection.Assembly]::LoadWithPartialName('System.Windows.Forms') 
$d = New-Object Windows.Forms.FolderBrowserDialog 
$d.ShowDialog() 
+0

如果任何人的兴趣,这就是我使用它:HTTP:// stackoverflow.com/questions/182573/powershell-cli-or-gui-which-do-you-need-or-prefer#216936 – 2008-10-21 15:09:07

回答

3

我相信这是在MTA线程中运行PowerShell的问题。您可以在STA(单线程单元)模式下运行版本2的CTP,并且它将提取正确的文件夹选择。它确实将菜单拉到shell窗口后面。

+0

我先在Vista上用CTP2试过,我可以在STA模式下使用它。在XP的V1,我无法得到这个工作。 – 2008-10-19 20:03:15

+0

STA的限制是有道理的。 。 。急切地等待PS v2的发布版本;) – 2008-10-19 20:21:07

0

仅供参考,如果你正在寻找做Windows窗体的东西,有一个产品目前缺货,会做Windows窗体的PowerShell的(该Admin Script Editor)和Sapien的是工作的一个Forms Designer(在PowerScripting Podcast公布),这可能为您的脚本消除一些这些问题。