在 PowerShell 中检测鼠标单击

在 PowerShell 中检测鼠标单击

我在 PowerShell 中启动了一个提示,用户可以在其中输入一些信息。但我想在用户点击“取消”时捕获该操作。
有没有办法在 PowerShell 的提示窗口中检测用户何时点击“取消”?或者这个选项不是内置在 PowerShell 中的?

答案1

编辑:实际上我发现了一个类似的(可能有帮助的)主题这里


请参阅technet 上的主题。

您可能会发现有用的解释:

说到“确定”和“取消”按钮,这是我们的下一步;此代码块向我们的表单添加了一个标有“确定”的按钮:

$OKButton = New-Object System.Windows.Forms.Button
$OKButton.Location = New-Object System.Drawing.Size(75,120)
$OKButton.Size = New-Object System.Drawing.Size(75,23)
$OKButton.Text = "OK"
$OKButton.Add_Click({$x=$objTextBox.Text;$objForm.Close()})
$objForm.Controls.Add($OKButton)

要添加按钮,我们首先要创建 System.Windows.Forms.Button 类的一个实例。(顺便说一下,这是使用表单时的标准主题:每次添加新控件时,通常都会创建一个 .NET Framework 类的新实例。)接下来,我们为 Location 属性指定一个值(在本例中,我们的按钮位于表单左侧 75 像素处,表单顶部下方 120 像素处);然后为 Size 和 Text 属性赋值。之后,我们使用以下代码行来指示用户单击此按钮时应该发生什么:

$OKButton.Add_Click({$x=$objTextBox.Text;$objForm.close()})

看起来很熟悉?应该是的;这些就是我们希望用户按下 ENTER 按钮时发生的事情:我们希望将文本框中的值分配给 $x,并且我们希望关闭表单。很简单,对吧?然后我们使用 Add 方法将按钮添加到表单:

$objForm.Controls.Add($OKButton)

然后我们重复该过程来添加取消按钮。

现在,我们可以在文本框中输入任何内容,然后按 ENTER(或单击“确定”)。这样做后,表单将消失,我们在文本框中输入的值将存储在变量 $x 中。(我们通过使用最后一行代码回显 $x 的值来验证这一点。)或者,我们可以按 ESC 或单击“取消”,表单将消失,而不会更改 $x 的值。

相关内容