前回までの記事で、高度な条件指定付きのファイル検索GUIアプリを作成しました。今回はその続編として、「検索結果をダブルクリックするとファイルを開く」機能を加えます。
機能概要
- 検索結果(ListBox)をダブルクリックでファイルを開ける
- 拡張子に応じて、既定アプリケーションで自動的に開く
- 開けない場合はエラーメッセージを表示して安心設計
コード追加部分(イベント設定)
以下のように、ListBox
にダブルクリックイベントを設定します:
$listBox.Add_DoubleClick({
$selected = $listBox.SelectedItem
if ($selected -and (Test-Path $selected)) {
try {
Start-Process $selected
} catch {
[System.Windows.Forms.MessageBox]::Show("ファイルを開けませんでした:`n$_")
}
}
})
このコードをListBox
定義後に追加すれば、どの検索結果ファイルもダブルクリックで開けるようになります!
実行イメージ
.txt
→ メモ帳で開く.xlsx
→ Excelで開く.pdf
→ Adobe Readerなどで開く- 実行ファイル(.exe)も起動可能(必要なら制限を加えることも可)
応用:ファイルの種類に応じて処理を分けることも可能!
例えば、「画像は画像ビューアで」「テキストはPowerShellで開く」など、以下のような拡張も可能です。
switch -Regex ($selected) {
"\.txt$" { notepad $selected }
"\.(jpg|png)" { Start-Process "mspaint.exe" -ArgumentList $selected }
default { Start-Process $selected }
}
まとめ
PowerShellでGUIアプリを作ると、クリック操作だけでファイルの一覧・検索・オープンが完結する便利なツールになります。
ダブルクリック機能を追加することで、ツールの直感的な使いやすさが一気にアップします。
次回予告
次回は、右クリックメニュー(コンテキストメニュー)を追加して、ファイルをコピー・削除・フォルダを開くといった機能を組み込んでみましょう!
コメント