在 PowerShell 中显示消息框
有些人认为 PowerShell 是一种命令行语言。他们认为 PowerShell 可以将文本输出到沉闷的控制台屏幕。
但是,Windows PowerShell 构建在 .NET 框架之上。因此,它可以为你的脚本使用图形用户界面 (GUI)。
本文将讨论名为 Message Boxes 的 PowerShell GUI 的重要功能,我们将学习如何使用 PowerShell 编写和输出它们。
PowerShell GUI 简介
有几种方法可以将我们的脚本转换为 GUI 形式。如果我们需要创建简单的 GUI 工具以在 Windows PowerShell 中与用户交互,我们可能会选择 Windows 窗体 (WinForms) 或 Windows Presentation Foundation (WPF)。
但是,有时我们不需要构建功能齐全的 GUI 工具。
例如,当我们只想向用户显示一条消息以获取一般信息或获得一些简单的输入时,我们不想弄清楚如何制作表单并在表单上放置控件。
在这种情况下,还有另一种更直接的方法,只需要一行代码; [System.Windows.MessageBox]
。
PowerShell 中的 MessageBox
类
System.Windows
命名空间中的 MessageBox
类有许多选项,允许我们向用户显示一些带有 OK
按钮的文本以要求输入,并为他们提供诸如 Yes
、No
或 Cancel
。
首先,默认情况下,Windows PowerShell 中不存在此命名空间。因此,要使用它,我们需要将程序集添加到我们的 Windows PowerShell 会话中。
我们将通过使用 Add-Type
cmdlet 添加 PresentationFramework
程序集来完成此操作。
Add-Type -AssemblyName PresentationFramework
添加后,我们现在可以使用 MessageBox
类。
MessageBox
类有一个名为 Show
的主要方法。这个方法允许我们传递不同的参数给它以不同的行为。
例如,你可以使用 Show()
方法以最简单的形式显示简单的消息。
[System.Windows.MessageBox]::Show('Hello')
当消息框出现时,我们会注意到它会停止你的控制台输入,直到它关闭。当我们点击 OK
时,控制台将显示 Show()
方法返回的内容,在这种情况下,它是简单的'OK'
。
Show()
方法有许多构造函数来自定义消息框标题、显示按钮的类型等。让我们来看一个示例。
首先,我们将添加一个标题和图标,我们将添加是
、否
或取消
按钮来获取用户的输入。
我们将向 Show()
方法添加一些参数。
[System.Windows.MessageBox]::Show('Do you want to proceed?', 'Confirm', 'YesNoCancel','Error')
我们可以看到,只要将要显示的消息、消息框的标题、按钮组和要显示的图标类型按照正确的参数顺序放置,就可以提供不同类型的消息框。
然后,根据我们按下的按钮,它将返回一个单独的输出,然后我们可以使用它来决定脚本的未来流程。
$msgBoxInput = [System.Windows.MessageBox]::Show('Would you like to proceed?', 'Confirmation', 'YesNoCancel','Error')
switch ($msgBoxInput) {
'Yes' {
## Action Here
}
'No' {
## Action Here
}
'Cancel' {
## Action Here
}
}
相关文章
在 PowerShell 中运行带参数的 exe 文件
发布时间:2024/03/03 浏览次数:160 分类:编程语言
-
在本文中,我们只关注带参数运行 exe 文件的方式,因为如果它已经在 Windows PATH 中,则正常的 exe 文件执行(不带参数)非常简单。
在 PowerShell 中运行 CMD 命令
发布时间:2024/03/03 浏览次数:69 分类:编程语言
-
本文介绍了在 Windows PowerShell 脚本环境中的 PowerShell 中运行 cmd 旧命令的不同方法。
在 PowerShell 中向多个收件人发送电子邮件
发布时间:2024/03/03 浏览次数:95 分类:编程语言
-
本文将演示使用 PowerShell 编写和使用哪些命令向多个收件人发送电子邮件。
在 PowerShell 中将命令拆分为多行
发布时间:2024/03/03 浏览次数:93 分类:编程语言
-
本文将解释 Windows PowerShell 多行命令将长命令拆分为多行的重要性。我们还将讨论实现这一目标的其他方法。
在 PowerShell 中安装 NuGet 包
发布时间:2024/03/01 浏览次数:164 分类:编程语言
-
本文将了解发生错误的原因以及安装适用于 PowerShell 的 NuGet 提供程序的分步指南。
在 PowerShell 中 Ping 主机名列表和输出结果到 CSV
发布时间:2024/03/01 浏览次数:55 分类:编程语言
-
本教程将教你 ping 主机名列表并将结果输出到 PowerShell 中的 CSV。
以管理员身份运行 PowerShell 脚本
发布时间:2024/03/01 浏览次数:89 分类:编程语言
-
本文将展示如何在不输入管理员凭据的情况下以管理员权限运行 powershell 脚本。如果代码片段未在提升的 Windows PowerShell 中运行,则以下脚本将自行提升你的脚本。