[リストへもどる]
一括表示

投稿時間:2003/06/16(Mon) 13:52
投稿者名:hosotani
Eメール:khosotani@takaitofu.com
URL :
タイトル:
IMEの抑制
VB5でIMEの抑制をImmDisableIME() のAPIによりしているのですが、
98だと動作するPGがWindows2000のマシンにこのモジュールを
実行しようとすると
実行時エラー'453':
ImmDisableIMEの中のエントリーポイント
imm32.dllにDLLが見つかりません。
となります、もし解決策を教えていただければ幸いです。
************************************************************
Private Declare Function ImmDisableIME Lib "imm32.dll" _
        (ByVal idThread As Long) As Long
------------------------------------------------------------
Private Sub Command1_Click()
Call ImmDisableIME(-1)  '-1 OR 0
End Sub
************************************************************

投稿時間:2003/06/16(Mon) 14:27
投稿者名:nanashi
Eメール:
URL :
タイトル:
Re: IMEの抑制
なんだマルチか…。

http://www.naka-net.com/y-mac/custombbs.cgi?no=12263&reno=no&oya=12263&mode=msg_view

投稿時間:2003/06/16(Mon) 15:25
投稿者名:魔界の仮面弁士
Eメール:
URL :
タイトル:
Re: IMEの抑制
> VB5でIMEの抑制をImmDisableIME() のAPIによりしているのですが、

う〜ん。Win98であれば、サポートされている関数のはずなのですけれどね。
# Win95ではサポートされていませんが。。。
# 0/-1 のかわりに、App.ThreadID を渡す…というのも関係無さそうですし。。。


> 98だと動作するPGがWindows2000のマシンにこのモジュールを
> 実行しようとすると

手元にVB5はありませんので、かわりにVB6で試して見ました。
そのコードをそのまま貼り付けて、WinXP Pro + VB6環境でコンパイルしたEXEを、
  Windows 98  (MS-IME 2000)
  Windows 2000 Server  (MS-IME 2000)
  Windows XP Professional  (MS-IME 2002)
の各環境で実行させてみましたが、特にエラーは発生しませんでしたよ。

とはいえ、ImmDisableIME APIというのは、SDKによると
》 次のいずれかの場所でこの関数を呼び出す必要があります。
》 ・CreateWindow 関数を呼び出して最初のトップレベルウィンドウを作成する前の任意のタイミング。
》 ・最初のトップレベルウィンドウの WM_NCCREATE ハンドラ内。
のように書かれていますので、この関数は、Command1_Click で
呼び出すべきでは無いような気がします。


> となります、もし解決策を教えていただければ幸いです。
まず、“Dependency Walker”か“DumpBin”ツールで、 IMM32.DLLにて
"ImmDisableIME"という関数が公開されているか、確認してみてください。


# しかしまぁ、派手に聞きまわっていますね。。。(^_^;)
#
# [Kozの館] - [質問箱]
# http://www.interq.or.jp/www-user/komurak/main.html
# http://koz.homeip.net/bbs/show.asp?bodyid=2268
#
# [Visual Basic Laboratory] - [Visual Basic Q&A掲示板]
# http://member.nifty.ne.jp/akis/
# http://212.teacup.com/akis/bbs?
#
# [VB初心者友の会] - [超初心者専用Q&A掲示板] #831
# http://www2j.biglobe.ne.jp/~little-g/vbtomo.html
# http://www2j.biglobe.ne.jp/~little-g/cgi-bin/choshoqa.cgi
#
# [Visual Basic 初心者連盟] - [VB掲示板]
# http://www.alpha-net.ne.jp/users2/ei9711/index.html
# http://www.alpha-net.ne.jp/cgi-bin/ei9711/yybbs.pl

投稿時間:2003/06/16(Mon) 20:10
投稿者名:NAO★
Eメール:
URL :
タイトル:
Re^2: IMEの抑制
一応動作報告だけ…

VB5で作成したexeを各OSにて試してみました。
×Windows NT(Workstation)
○Windows98SE
○Windows2000 Professional
○WindowsXP Professional

投稿時間:2003/06/16(Mon) 23:11
投稿者名:魔界の仮面弁士
Eメール:
URL :
タイトル:
Re^3: IMEの抑制
> 一応動作報告だけ…
> VB5で作成したexeを各OSにて試してみました。
> ×Windows NT(Workstation)
> ○Windows98SE
> ○Windows2000 Professional
> ○WindowsXP Professional

ちなみにSDKによると、ImmDisableIME の対応状況は以下のようになっているそうです。

》 Requirements
》   Windows NT/2000/XP: Included in Windows 2000 and later.
》   Windows 95/98/Me: Included in Windows 98 and later.
》   Windows CE: Included in Windows CE .NET 4.0 and later.


# うぅむ…やはり、Win98ではサポートされているように見えるけれど……。