アクティブ時/非アクティブ時とかで切り替えるんならSetWindowPosが必要かも知れんね。
Option Compare Database Option Explicit 'GetWindowLongPtr 'http://msdn.microsoft.com/ja-jp/library/cc364762.aspx 'SetWindowLongPtr 'http://msdn.microsoft.com/ja-jp/library/cc411204.aspx 'GetWindowLong 'http://msdn.microsoft.com/ja-jp/library/cc364760.aspx 'SetWindowLong 'http://msdn.microsoft.com/ja-jp/library/cc411203.aspx Const GWL_EXSTYLE = -20 Const GWLP_HINSTANCE = -6 Const GWLP_ID = -12 Const GWL_STYLE = -16 Const GWLP_USERDATA = -21 Const GWLP_WNDPROC = -4 'GWL_EXSTYLE 新しい拡張ウィンドウスタイルを設定します。 'GWL_STYLE 新しいを設定します。 'GWLP_WNDPROC ウィンドウプロシージャへの新しいアドレスを設定します。 'GWLP_HINSTANCE 新しいアプリケーションインスタンスハンドルを設定します。 'GWLP_ID 新しいウィンドウ ID を設定します。 'GWLP_USERDATA ウィンドウに関連付けられた値を設定します。この 32 ビット値は、ウィンドウを作成したアプリケーションで使用する目的で各ウィンドウが持っているものです。この値の初期値は 0 です。 Const WS_EX_APPWINDOW = &H40000 #If Win64 Then Private Declare PtrSafe Function GetWindowLongPtr Lib "user32" _ Alias "GetWindowLongPtrA" ( _ ByVal hwnd As LongPtr, _ ByVal nIndex As Long _ ) As LongPtr Private Declare PtrSafe Function SetWindowLongPtr Lib "user32" _ Alias "SetWindowLongPtrA" ( _ ByVal hwnd As LongPtr, _ ByVal nIndex As Long, _ ByVal dwNewLong As LongPtr _ ) As LongPtr #Else Private Declare PtrSafe Function GetWindowLongPtr Lib "user32" _ Alias "GetWindowLongA" ( _ ByVal hwnd As LongPtr, _ ByVal nIndex As Long _ ) As LongPtr Private Declare PtrSafe Function SetWindowLongPtr Lib "user32" _ Alias "SetWindowLongA" ( _ ByVal hwnd As LongPtr, _ ByVal nIndex As Long, _ ByVal dwNewLong As LongPtr _ ) As LongPtr #End If Sub AddTaskBarlist() Dim Ws As LongPtr Dim pHwnd As LongPtr pHwnd = CodeContextObject.hwnd Ws = GetWindowLongPtr(pHwnd, GWL_EXSTYLE) Ws = Ws Or WS_EX_APPWINDOW SetWindowLongPtr pHwnd, GWL_EXSTYLE, Ws End Sub
0 件のコメント:
コメントを投稿