VBレスキュー(花ちゃん)
VB2005用トップページへVBレスキュー(花ちゃん)のトップページVB6.0用のトップページ各掲示板

リンク元へ戻ります。 システム・情報関係のメニュー
1.Windowsのシステムディレクトリのパス名を取得する
2.Windows のバージョンを取得する
3.終了時の情報を保存・読み込み・反映(レジストリ使用・他)
4.Windows を終了・再起動する
5.スクリーンセーバーの起動及び解除
6.タスクバーを自動で隠す・常に手前に表示を設定・取得
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.その他、当サイト内に掲載のシステム・情報に関するサンプル


6.タスクバーを自動で隠す・常に手前に表示を設定・取得
1.タスクバーを自動で隠す・常に手前に表示を設定・取得
2. 
3. 
4. 
5. 
6. 

 下記プログラムコードに関する補足・注意事項 
動作確認:Windows Vista・Windows 7 (32bit) / VB6.0(SP6)
Option :[Option Explicit]
参照設定:                  参照設定方法参照
使用 API:SHAppBarMessage / FindWindow
その他 :このサンプルは、 Win32 APIを使用しておりますので、ある程度Win32 API が理解できる方がお使い下さい。
    :
このページのトップへ移動します。 1.タスクバーを自動で隠す・常に手前に表示を設定・取得

Option Explicit   'SampleNo=198 WindowsXP VB6.0(SP5) 2002.08.29(私的サンプル)

'タスクバーの矩形を示す RECT 構造体(P689)
Private Type RECT
  left  As Long
  top  As Long
  right As Long
  bottom As Long
End Type

'データを格納する APPBARDATA 構造体(P689)
Private Type APPBARDATA
  cbSize As Long       '構造体のサイズ
  hWnd  As Long       'タスクバーのウィンドウのハンドル
  uCallbackMessage As Long  'コールバック関数へのポインター
  uEdge As Long       'タスクバーの位置を示す次の定数
  rc   As RECT       'タスクバーの矩形を示す RECT 構造体
  lParam As Long       'メッセージのパラメーター
End Type

'アプリケーションバーのメッセージをシステムに送る(P687)
Private Declare Function SHAppBarMessage Lib "shell32.dll" _
  (ByVal dwMessage As Long, pData As APPBARDATA) As Long
'クラス名、又は、キャプションタイトルを与えてウィンドウのハンドルを取得(P81)
Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" _
  (ByVal lpClassName As String, ByVal lpWindowName As String) As Long

Private Const ABM_GETSTATE = &H4  '自動的に隠す・常に手前に表示の状態を取得
Private Const ABM_SETSTATE = &HA  '自動で隠すに設定する(P688)
Private Const ABS_AUTOHIDE = &H1  '自動で隠す(P688)
Private Const ABS_ALWAYSONTOP = &H2 '常に手前に表示(P688)

Private Sub Command1_Click()
  Dim pData As APPBARDATA
  Dim Ret  As Long
  Dim Flag  As Boolean

  With pData
    .cbSize = Len(pData)  '構造体のサイズを取得
    'タスクバーのクラス名を与えてハンドルを取得
    .hWnd = FindWindow("Shell_TrayWnd", vbNullString)
    '現在の設定状態を取得
    Ret = SHAppBarMessage(ABM_GETSTATE, pData)
    Flag = Ret And ABS_AUTOHIDE

    If Flag Then  '自動で隠すの設定の場合
      .lParam = ABS_ALWAYSONTOP  '常に手前に表示設定
    Else      '常に手前に表示設定の場合
      .lParam = ABS_AUTOHIDE   '自動で隠すの設定
    End If

  End With
  'タスクバー自動で隠す/手前に表示設定
  Ret = SHAppBarMessage(ABM_SETSTATE, pData)
  DoEvents
End Sub

このページのトップへ移動します。 2. 


このページのトップへ移動します。 3.


このページのトップへ移動します。 4.


このページのトップへ移動します。 5.


このページのトップへ移動します。 6.


このページのトップへ移動します。 検索キーワード及びサンプルコードの別名(機能名)
タスクバーを固定する  タスクバーを自動的に隠す タスクバーと[スタート]メニューのプロパティ




このページのトップへ移動します。