タスクバーのプロパティウィンドウを表示する
'TaskBar & Start Menu Properties
Private Sub btnTaskProp_Click( _
ByVal sender As System.Object, _
ByVal e As System.EventArgs) Handles btnTaskProp.Click
Process.Start("rundll32.exe", "shell32.dll,Options_RunDLL 1")
End Sub
「RunDll32.exe」を使用し、「shell32.dll」の助けを借りて、タスクバーのプロパティウィンドウを表示します。このプロセスの詳細については、この記事で説明しています。

スタートメニューのメニューを表示する/隠す
このセクションでは、スタートメニューからお気に入りウィンドウを隠したり表示したりします。グループ化の値の変更に使用したときと同じキーの下のレジストリ値を更新します。ただし、ここで扱うのはStartMenuFavorites値で、違いはそれだけです。値を1にするとお気に入りメニューが表示され、0にするとお気に入りメニューが隠されます。変更結果をすぐに見るために、ここでもEnvRefresh関数を呼び出します。コードは次のとおりです。
Private Sub btnFavourites_Click( _
ByVal sender As System.Object, _
ByVal e As System.EventArgs) Handles btnFavourites.Click
Select Case btnFavourites.Text
Case "Show Favourites In Menu"
Dim FavKey As RegistryKey = _
Registry.CurrentUser.OpenSubKey("Software\\Microsoft\\Windows _
\\CurrentVersion\\Explorer\\Advanced", True)
'Show Favourites Menu
FavKey.SetValue("StartMenuFavorites", 1, RegistryValueKind.DWord)
EnvRefresh() 'Refresh Explorer.exe
btnFavourites.Text = "Hide Favourites In Menu"
Case "Hide Favourites In Menu"
Dim FavKey As RegistryKey = _
Registry.CurrentUser.OpenSubKey("Software\\Microsoft\\Windows _
\\CurrentVersion\\Explorer\\Advanced", True)
'Hide Favourites
FavKey.SetValue("StartMenuFavorites", 0, RegistryValueKind.DWord)
EnvRefresh()
btnFavourites.Text = "Show Favourites In Menu"
End Select
End Sub
独自のデスクトップ表示ボタンを作成する
これはタスクバーやスタートボタンの機能とは言えないかもしれませんが、それでも役に立つことに変わりはありません。ただし、方法論は異なります。やるべきことは、Microsoft Shell Controls And Automation(Shell32.dll)への“COM参照”を設定することです。参照を設定するには、[プロジェクト]から[参照の追加]を選択し、[COM]タブを選択します。そこから、このライブラリまでスクロールします。これを追加し終わったら、新しいシェルオブジェクトを作成し、そのToggleDesktopメソッドを使って、すべてを最小化してデスクトップウィンドウを表示します。コードは次のとおりです。
Private Sub btnShowDesktop_Click( _ ByVal sender As System.Object, _ ByVal e As System.EventArgs) Handles btnShowDesktop.Click 'Create Instance Of Shell Class 'Referenced COM Library "Microsoft Shell Controls And Automation" '(shell32.dll) Dim objShell As New Shell32.ShellClass() 'Show Desktop DirectCast(objShell, Shell32.IShellDispatch4).ToggleDesktop() End Sub
このボタンをクリックすれば、いつでもデスクトップが表示されます。
まとめ
なかなか楽しい作業ではないでしょうか?少なくとも私は楽しくコーディングを行いました。残念ながら、楽しいことには必ず終わりがあり、今回も例外ではありません。この記事は参考になったでしょうか。またお会いしましょう。
