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


トップページに戻る

Tips一覧に戻る