PowerShellでマウスクリックを検出する


0

私はPowerShellでプロンプトを起動し、そこでユーザーが何らかの入力を行うことができます。しかし、ユーザーが「キャンセル」をクリックしたときのアクションをキャッチしたいのですが。
ユーザーがPowerShellのプロンプトウィンドウで[キャンセル]をクリックしたことを検出する方法はありますか?それとも、このオプションはPowerShellに組み込まれていませんか?

回答:


1

編集:実際に私は似たような(おそらく役に立つ)トピックを見つけました ここに


参考にしてください この technetのトピック。

あなたが役に立つと思うかもしれない説明:

[OK]ボタンと[キャンセル]ボタンについて言えば、それが次のステップです。このコードブロックは、[OK]というラベルの付いたボタンをフォームに追加します。

$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キーを押すことができます。   (または[OK]をクリック)そうすると、フォームは消え、その価値は   テキストボックスに入力した値は、変数$ xに格納されます。 (何か   最後の行で$ xの値をエコーバックして検証します。   または、[Esc]を押すか、[キャンセル]をクリックしてフォームを   $ xの値を変えずに消えます。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.