none
VB6.0によりWin VistaにIMEパットを表示 RRS feed

  • 質問

  • お世話になっております。
    いままで、Win Xp SP2 VB6.0 SP6で次ぎのようなAPIを利用して、
    IMEパットを表示しています。
    今度Win Vista SP1に表示られません。

    ============================================================
    ’関数の宣言
    Declare Function RegisterWindowMessage Lib "user32.dll" _
        Alias "RegisterWindowMessageA" _
       (ByVal lpString As String) As Long
    Declare Function SendMessage Lib "user32.dll" _
        Alias "SendMessageA" _
       (ByVal Hwnd As Long, _
        ByVal Msg As Long, _
        ByVal wParam As Long, _
        lParam As Any) As Long
    ----------------------------------------------------------------------------------------
    ' IMEアプレットメニューを示す定数
    Public Const IPACID_SYMBOLSEARCH = &H5
    ------------------------------------------------------------------------------------------
    Dim WM_MSIME_SHOWIMEPAD As Long
    Dim lngDefalutIMEHandle As Long
    Dim lngResult           As Long

        ' IMEパッドを開くメッセージを登録
        WM_MSIME_SHOWIMEPAD = _
            RegisterWindowMessage("MSIMEShowImePad")

        ' IMEのハンドルを取得
        lngDefalutIMEHandle = _
            ImmGetDefaultIMEWnd(Me.hWnd)

      '"文字一覧"を選択
         lngAppletsCategory = IPACID_SYMBOLSEARCH

        ' IMEパッドを表示
        lngResult = _
            SendMessage( _
                lngDefalutIMEHandle, _
                WM_MSIME_SHOWIMEPAD, _
                SHOWIMEPAD_DEFAULT, _
                ByVal CLng(0))
    ------------------------------------------------------------------------------------
    ==================================================================

    解決方法をご教授頂きたく、宜しくお願い申し上げます。

    2008年8月29日 7:39