gpt4 book ai didi

windows - powershell windows 窗体眉毛对话

转载 作者:可可西里 更新时间:2023-11-01 10:07:17 26 4
gpt4 key购买 nike

我正在尝试创建一个带有按钮的 Windows 窗体,单击该按钮将显示文件夹/文件浏览窗口,然后用户选择文件/文件夹并单击“确定”,然后我可以将所选路径用作另一个脚本的字符串.

问题是,当我通过 PowerGUI(powershell 脚本应用程序)运行它时,它工作正常,但是当我通过 windows powershell 运行它时,它在加载浏览对话框时挂起,任何人以前见过这个或看到我做错了什么或得到了一个或者,任何帮助将不胜感激。

cls
$button = $browse = $form = 0
[void][reflection.assembly]::LoadWithPartialName("System.Windows.Forms")
$browse = new-object system.windows.Forms.FolderBrowserDialog
$browse.RootFolder = [System.Environment+SpecialFolder]'MyComputer'
$browse.ShowNewFolderButton = $false
$browse.selectedPath = "C:\"
$browse.Description = "Choose a directory"

$button1 = New-Object system.Windows.Forms.Button
$button1.Text = "Choose Directory"
$button1.Add_Click({$browse.ShowDialog()})
$button1.left = 20
$button1.top = 20

$form = New-Object system.windows.forms.Form
$form.controls.add($button1)
$form.ShowDialog()
$form.Dispose()

$browse.SelectedPath

最佳答案

通过 PowerShellPlus(另一个 powershell 编辑器)运行我的脚本时,我遇到了类似的问题。幸运的是我找到了this post它显示了如何在不使用 FolderBrowserDialog 的情况下提示输入文件夹。这是我在 a set of powershell functions I've written 中使用的代码用于通过 GUI 提示用户进行多种不同类型的输入。

# Show an Open Folder Dialog and return the directory selected by the user.
function Read-FolderBrowserDialog([string]$Message, [string]$InitialDirectory)
{
$app = New-Object -ComObject Shell.Application
$folder = $app.BrowseForFolder(0, $Message, 0, $InitialDirectory)
if ($folder) { return $folder.Self.Path } else { return '' }
}

关于windows - powershell windows 窗体眉毛对话,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14549750/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com