2012年10月11日木曜日

◆ShowUIモジュールでWPFウインドウを使ってみる

CodePlexでShowUIというモジュールが提供されている。
ShowUI: Write-UI -in PowerShell

Powershellでのフォーム(ウインドウ)表示をサポートするモジュールの様である。

確かに、ちょっとしたウインドウが簡単に表示できたら便利。

という事でモジュールをダウンロードしてサンプルを実行してみた。

ダウンロードしたモジュールは「$env:psmodulepath」で定義されている場所に置けば良さそうなので、「ドキュメント\WindowsPowerShell\Modules」に置いた。

あとは以下のようなサンプルが掲載されているのでそのまま実行してみる。

Import-Module ShowUI
$getEventInput = StackPanel -ControlName 'Event Logs Since' {
  New-Label -VisualStyle 'MediumText' "Log Name"
  New-ComboBox -IsEditable:$false -SelectedIndex 0 -Name LogName @("Application", "Security", "System")
  New-Label -VisualStyle 'MediumText' "Get Event Logs Since..."
  Select-Date -Name After
  New-Button "Get Events" -On_Click {
  Get-ParentControl | Set-UIValue -passThru | Close-Control
  }
} -show
$getEventInput.remove("togglebutton")
Get-EventLog @getEventInput

すると以下のようなウィンドウが表示されて選択したイベントログが表示されるという寸法だ。
image

さすがはWPF、画面を広げるとカレンダーも増えてくれる。
image

暇ができたらもう少し遊んでみたい。

ちなみに、初回実行すると「Documents\WindowsPowerShell\Modules\ShowUI\StyleSystem」に「Styles」フォルダが無い、っと怒られるので作ってあげる。

すると今度は、その中に「Current.style」ファイルが無い、っと怒られる。
このファイル自体は「Documents\WindowsPowerShell\Modules\ShowUI\StyleSystem」に存在しているのでコピーしてあげる。

1 件のコメント:

  1. いつも参考にさせていただいています。

    趣味で「PowerShellでWPF」少しずつ書き溜めたものを
    備忘的Blogはじめました。

    http://harebare01.blogspot.jp/

    返信削除