Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


31922 / 76734 ←次へ | 前へ→

【50055】Re:IMEパッドのソフトキーボードを表示したい
発言  neptune  - 07/7/6(金) 9:55 -

引用なし
パスワード
   ▼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

1 hits

【50046】IMEパッドのソフトキーボードを表示したい kobasan 07/7/5(木) 22:37 質問
【50055】Re:IMEパッドのソフトキーボードを表示した... neptune 07/7/6(金) 9:55 発言
【50059】Re:IMEパッドのソフトキーボードを表示した... neptune 07/7/6(金) 13:54 発言
【50066】Re:IMEパッドのソフトキーボードを表示した... kobasan 07/7/6(金) 22:04 発言
【50067】Re:IMEパッドのソフトキーボードを表示した... kobasan 07/7/7(土) 0:21 発言
【50069】Re:IMEパッドのソフトキーボードを表示した... neptune 07/7/7(土) 10:36 発言
【50071】Re:IMEパッドのソフトキーボードを表示した... kobasan 07/7/7(土) 18:21 お礼
【50073】Re:IMEパッドのソフトキーボードを表示した... neptune 07/7/7(土) 19:42 発言

31922 / 76734 ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free