PowershellでGUI(2)
メッセージボックスで押したボタンによって処理を分ける方法ですが、メッセージボックスそのものを変数に入れてしまうやり方があります。具体的には、以下のような感じになります。
Add-Type -AssemblyName System.Windows.Forms
$result=[System.Windows.Forms.MessageBox]::Show("続行するにはOKを押してください","確認",[System.Windows.Forms.MessageBoxButtons]::YesNo)
if($result -eq "Yes"){
[System.Windows.Forms.MessageBox]::Show("Yesを押しました","確認",[System.Windows.Forms.MessageBoxButtons]::OK)
}
else {
[System.Windows.Forms.MessageBox]::Show("Noを押しました","確認",[System.Windows.Forms.MessageBoxButtons]::OK)
}
変数$resultの中にどちらかのボタンを押した情報(YesかNo)が入ります。その情報をもとに、if文で処理を振り分けています。
なお、メッセージボックスの中に変数を展開したい場合はそのまま変数を入れてしまえばよく、以下のような感じになります。
$machine=(get-wmiobject win32_bios).SerialNumber
[System.Windows.Forms.MessageBox]::Show("PCシリアルナンバー-->>$machine","確認",[System.Windows.Forms.MessageBoxButtons]::OK)
この例ではPCのシリアルナンバーを変数$machineにいれてそれをメッセージボックスで表示させています。実行結果は以下の通り。
