我创建了一个脚本,可以在单击一个按钮时显示“打开文件对话框”。当我运行PowerShell控制台时,它不会被调用 为了解决这个问题,我在我的函数中引入了一个表达式“$ openFileDialog.ShowHelp = $ True”,如下所示:
function BrowseFile
{
$openFileDialog = New-Object windows.forms.openfiledialog
$openFileDialog.initialDirectory = [System.IO.Directory]::GetCurrentDirectory()
$openFileDialog.title = "Select Changed File"
$openFileDialog.filter = "All files (*.*)| *.*"
$openFileDialog.ShowHelp = $True
$openFileDialog.ShowDialog() | Out-Null
return $openFileDialog.filename
}
它解决了我的问题,但它在打开文件对话框上显示“帮助”按钮,它什么都不做。
我想摆脱这个帮助按钮或其他方式来显示打开文件对话框 我在Win7平台上运行它。
答案 0 :(得分:0)
这是不可能的。这是powershell控制台中的一个错误。 Powershell控制台(基于conhost.exe)仅支持包含“帮助”按钮的旧文件管理程序。
在ISE中,您可以使用$openFileDialog.ShowHelp = $false
,但在普通控制台中,它会导致PowerShell进程锁定/冻结。因此,您必须像现在一样使用$openFileDialog.ShowHelp = $True
。
该属性也“撒谎”,因为即使它设置为$false
,它也会给你一个帮助按钮。它使用“现代”的filedialog,顶部还有一个小蓝色图标形式的帮助按钮。