タスクバーのプロパティウィンドウを表示する
'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
このボタンをクリックすれば、いつでもデスクトップが表示されます。
まとめ
なかなか楽しい作業ではないでしょうか?少なくとも私は楽しくコーディングを行いました。残念ながら、楽しいことには必ず終わりがあり、今回も例外ではありません。この記事は参考になったでしょうか。またお会いしましょう。