PowerShellでアプリアイコンを取得してボタンとして表示する

よく利用するアプリの一覧をアイコンで表示してみたいと思い、PowerShellを使用してランチャーのような形で表示できないか試してみた。

早速コードを組んでみた。アプリのアイコンは問題なく抽出できたし、それをボタンに適用することでイメージに近いものができたと思う。

# アセンブリの読み込み
Add-Type -AssemblyName System.Windows.Forms
Add-Type -AssemblyName System.Drawing

# フォームの作成
$form = New-Object System.Windows.Forms.Form
$form.Text = "TEST"
$form.Size = New-Object System.Drawing.Size(250,250)

$IconButton = New-Object System.Windows.Forms.Button

$icon = [System.Drawing.Icon]::ExtractAssociatedIcon("C:\Program Files (x86)\sakura\sakura.exe")

$h = $icon.Size.Height + 15
$w = $icon.Size.Width + 15

$IconButton.Height = $h
$IconButton.Width = $w

$IconButton.Image = $icon

$form.Controls.Add($IconButton)

# フォームを表示
$form.ShowDialog()

$icon.Dispose() # リソースの開放

適当に今回は「さくらエディタ」のアイコンを表示させてみた。

表示させたいアプリの一覧を設定ファイルか何かを読み込ませて、対象のアプリがあれば表示する。

というようなことができそうで夢が広がった。

PowerShellはWindows OSなら標準搭載されていて、特に環境構築なども必要ないので、

職場などの関係で自由にランチャーアプリをインストールできない場合とかに、自作で簡単に作れそうなので良いですね。

スポンサーリンク

-IT関連
-