|
▼kobasan さん:
こんにちは
>IMEパッドのソフトキーボードをマクロで表示したいのですが。
>スクリーンキーボードなら
> Shell ("osk.exe")
>で表示できるのですが、
これ、新発見です。こんなのあるんですね?
>ソフトキーボードの場合、このようなexeファイルがあるのでしょうか。
質問の回答というわけではないのですが
ソフトキーボードはIMEの機能の1つですから、APIを使用した時のものです。
※VB6で確認しましたが、多分同じと思います。
HWNDの取得だけ変更してみて下さい。
Private Declare Function ImmGetContext Lib "imm32.dll" _
(ByVal hWnd As Long) As Long
Private Declare Function ImmReleaseContext Lib "imm32.dll" _
(ByVal hWnd As Long, _
ByVal hImc As Long) As Long
Private Declare Function ImmSetConversionStatus Lib "imm32.dll" _
(ByVal hImc As Long, _
ByVal dw1 As Long, _
ByVal dw2 As Long) As Long
Private Const IME_CMODE_SOFTKBD = &H80 'ソフトキーボードモード
Private Const IME_SMODE_AUTOMATIC = &H4
Private Sub Command2_Click()
Dim IMC As Long
Dim lngResult As Long
dim lhWnd as long
'ここはExcelのHWND、UserFormのHWNDなどでOKと思います。
lhWnd = Me.Text1.hWnd
IMC = ImmGetContext(lhWnd )
lngResult = ImmSetConversionStatus(IMC, IME_CMODE_SOFTKBD, IME_SMODE_AUTOMATIC)
ImmReleaseContext lhWnd , IMC
End Sub
|
|