ブログ
PowerShellでGUI表示をする
新規にアプリをインストールすることが出来ない環境下において、PowerShellはかなり手軽なスクリプト言語です。
PowerShellといえばコマンドプロンプトのようなものをイメージする事がほとんどだと思いますが、
今回はあまり知られていない(かもしれない)GUI表示について紹介したいと思います。
まずは画面を作ってみましょう。「Windows PowerShell ISE」を起動して下記の内容を入力しF5を押します。
※「Windows PowerShell ISE」はWindowsのスタートメニュー内の「Windows PowerShell 」にあります。
#アセンブリの読み込み [void] [System.Reflection.Assembly]::LoadWithPartialName("System.Drawing") [void] [System.Reflection.Assembly]::LoadWithPartialName("System.Windows.Forms") #フォームの設定 $Form = New-Object System.Windows.Forms.Form $Form.Size = New-Object System.Drawing.Size(800,600) $Form.Text = "PowerShellでGUI表示をする" #フォームの表示 $Form.Add_Shown({$Form.Activate()}) [void] $Form.ShowDialog()
すると、このような画面が表示されたかと思います。
このままでは味気ないので、この画面にもう少し色々なものを足してみましょう。
先ほどのコード内の「フォームの設定」と「フォームの表示」の間に以下のコードを付け足してください。
#ボタンの設定 $Button = New-Object System.Windows.Forms.Button $Button.Location = New-Object System.Drawing.Point(100,50) $Button.Size = New-Object System.Drawing.Size(200,100) $Button.Text = "ボタン" $Form.Controls.Add($Button) #テキストボックスの設定 $TextBox = New-Object System.Windows.Forms.Textbox $TextBox.Location = New-Object System.Drawing.Point(100,200) $TextBox.Size = New-Object System.Drawing.Size(400,100) $TextBox.Text = "サンプル" $TextBox.Multiline = $True $Form.Controls.Add($TextBox)
F5で実行すると最初の画面の中にボタンとテキストボックスが現れたと思います。
Locationが表示位置を、Sizeが描画サイズを表しています。
テキストボックスのMultilineは改行を許可するかどうかの設定になります。
ボタンやテキストボックスを準備した後は「$〇〇〇.Controls.Add」で最初に作成したフォームに追加をしないと表示されません。
せっかくなのでボタンに動きを付けてみましょう。
ひとまず、ボタンを押すとテキストボックスに今日の日付が出る、といった簡単なものを作成してみます。
以下のコードを追加してみてください。
function Btn_Click(){ $TextBox.Text = Get-Date }
これは(2)で作成したテキストボックスに「Get-Date」で取得した現在の日付を入れる、という内容の関数です。
次にこの関数の呼び出しをボタンに付与しましょう。
$Button.Add_Click({Btn_Click})
これは「ボタンの設定」と「フォームの表示」の間に記載しましょう。
F5で実行してボタンを押してみましょう。テキストボックスの内容が現在の日付で上書きされたと思います。
ちょっとしたツールを作成する際、画面表示された方が分かりやすい場合に手軽に使えるので、機会があればお試しください~
最後に
今後3年の計画としては、クラウドを活用できるクラウドインテグレーターとして地位を確立し、クラウドの価値を多くの方に感じていただきたいと考えております。
この目標に向け、当社は経営理念、ビジョンを守りながら柔軟に組織を変化させています。
この変化の多いIT業界で ”ワクワク” を感じていただける方!! ご連絡をお待ちしております!
関連記事
2024.09.30
2024.09.30
2024.04.08