SHOEISHA iD

※旧SEメンバーシップ会員の方は、同じ登録情報(メールアドレス&パスワード)でログインいただけます

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

japan.internet.com翻訳記事

タスクバーとVB.NET

VB.NETプログラムでタスクバーを自由に設定しよう

  • X ポスト
  • このエントリーをはてなブックマークに追加

タスクバーのプロパティウィンドウを表示する

'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」の助けを借りて、タスクバーのプロパティウィンドウを表示します。このプロセスの詳細については、この記事で説明しています。

図5 タスクバーのプロパティ
図5 タスクバーのプロパティ

スタートメニューのメニューを表示する/隠す

 このセクションでは、スタートメニューからお気に入りウィンドウを隠したり表示したりします。グループ化の値の変更に使用したときと同じキーの下のレジストリ値を更新します。ただし、ここで扱うのは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

 このボタンをクリックすれば、いつでもデスクトップが表示されます。

まとめ

 なかなか楽しい作業ではないでしょうか?少なくとも私は楽しくコーディングを行いました。残念ながら、楽しいことには必ず終わりがあり、今回も例外ではありません。この記事は参考になったでしょうか。またお会いしましょう。

この記事は参考になりましたか?

  • X ポスト
  • このエントリーをはてなブックマークに追加
japan.internet.com翻訳記事連載記事一覧

もっと読む

この記事の著者

japan.internet.com(ジャパンインターネットコム)

japan.internet.com は、1999年9月にオープンした、日本初のネットビジネス専門ニュースサイト。月間2億以上のページビューを誇る米国 Jupitermedia Corporation (Nasdaq: JUPM) のニュースサイト internet.comEarthWeb.com からの最新記事を日本語に翻訳して掲載するとともに、日本独自のネットビジネス関連記事やレポートを配信。

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

Hannes du Preez(Hannes du Preez)

プログラミングトレーナー。プログラミングを最大の趣味とする。Visual Basic 5からプログラミングを始め、Visual Basic 6.0、Visual C++ 6.0、Visual Basic .NETでアプリケーションを開発。プログラミングの知識はすべて独学によるもので、CodeGuru...

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

この記事は参考になりましたか?

この記事をシェア

  • X ポスト
  • このエントリーをはてなブックマークに追加
CodeZine(コードジン)
https://codezine.jp/article/detail/3473 2009/02/10 14:00

おすすめ

アクセスランキング

アクセスランキング

イベント

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー

アクセスランキング

アクセスランキング