IMEツールバーの表示・非表示を切り替える
'Option Explicit
'IMEのハンドル取得
Private Declare Function ImmGetDefaultIMEWnd
Lib "imm32.dll" (ByVal lhWnd As
Long) As Long
'IME制御メッセージ
Private Const WM_IME_CONTROL = &H283
'IMEツールバーを閉じる
Private Const IMC_CLOSESTATUSWINDOW = &H21
'IMEツールバーを表示する
Private Const IMC_OPENSTATUSWINDOW = &H22
Private Declare Function SendMessage Lib
"user32" _
Alias "SendMessageA" _
(ByVal hWnd As Long, _
ByVal wMsg As Long, _
ByVal wParam As Long, _
lParam As Any) As Long
Public Sub IMETaskBarVisible(blnFlg As Boolean)
Dim lngIMEWnd As Long 'IMEのハンドル用変数
Dim lngRet As Long 'APIリターン値
'IMEのハンドルを取得する
lngIMEWnd = ImmGetDefaultIMEWnd(0&)
'表示/非表示のメッセージを送る。
lngRet = SendMessage(lngIMEWnd, _
WM_IME_CONTROL, _
IIf(blnFlg, IMC_OPENSTATUSWINDOW, IMC_CLOSESTATUSWINDOW),
_
ByVal 0&)
End Sub