• ベストアンサー

imm(日本語入力)が上手く行きません;

多くのソフトで見られるテキストエリアみたいな 自由に日本語を入力できる機能を作りたくて、色々調べています。 しかし、色々調べてほんの数行のコードのテストから試しているのですが、 どれも上手く動かなかったり、imm.h に構文エラーが有ると100以上のエラーが出たりして 全く感触が掴めずにいます・・。 何か最低限でも動作するものが有れば何か掴めると思い MSDNのimeサンプルを落としてみたのですが、何故かコンパイルすら動作せず; さらに調べるうちに  「vistaでは動作しない」 「immについての解説書籍はない」 「少しの環境差でも動作しなくなる」 などの情報が目に付いて、 何が原因で動かないのか混乱しています; とても多くのソフトで日本語入力を当たり前のように扱っているので 動作するのが当たり前だとは思うのですが・・。 immを扱った経験が有る方、 immを扱う手順や、注意点などが有りましたら 教えては頂けませんでしょうか、 環境はVisualC++2008 OS:XP Pro(SP3)です。 みなさんはどうやって日本語入力を実装しているのでしょうか・・? immとは一体どういう手順で実装されるものなのでしょうか・・orz

質問者が選んだベストアンサー

  • ベストアンサー
  • sha-girl
  • ベストアンサー率52% (430/816)
回答No.2

>多くのソフトで見られるテキストエリアみたいな >自由に日本語を入力できる機能を作りたくて、色々調べています。 メモ帳と同じ事がしたいだけでしたら#1さんの回答を参考にしてください。 >「vistaでは動作しない」 「immについての解説書籍はない」 「少しの環境差でも動作しなくなる」 VistaからTSF(と呼ばれる物が)がIMEのエミュレーションを行っています。 (SP1以前はこのエミュレーションに問題があったのですがSP1で大分改善されています。) MSは将来的にIMEをこのTSFに置き換えたいようです。 猫でもわかるのサンプルにある http://www.kumei.ne.jp/c_lang/sdk3/sdk_278.htm にあるようなコードはそのままVistaでは動かなかった覚えがありますが ::ImmDisableTextFrameService(-1);(TSFを無効にする)を 最初に実行するとVistaでも動くようになったと思います。 (XP SP2でもTSFが有効だと同じ問題が発生します。) もしIMEの見た目や候補リスト等を全て自分で操作したいなら、 DirectX SDKのサンプルCustomUIの中にあるImeUi.cppというサンプルコードも参考になると思います。 TSFに関しても考慮されており、DirectXの部分を切り離して使う事も可能です。 http://msdn.microsoft.com/ja-jp/directx/default.aspx

zaxs5968
質問者

お礼

>MSは将来的にIMEをこのTSFに置き換えたいようです。 そうなのですね; >::ImmDisableTextFrameService(-1);(TSFを無効にする)を >最初に実行するとVistaでも動くようになったと思います。 >(XP SP2でもTSFが有効だと同じ問題が発生します。) なんと・・。 仕様変更時期なのですかね orz >DirectX SDKのサンプルCustomUIの中にあるImeUi.cppというサンプルコード SDKは入っているので、早速見てみました。 これが理想かもしれません・・! 何やら共有?のソースが多いらしく、扱い方が難しそうですが 少し切り張りして試してみようと思います。 ありがとうございましたっ

その他の回答 (2)

  • redfox63
  • ベストアンサー率71% (1325/1856)
回答No.3

VC2008のエディションは何ですか? お作りのアプリケーションのタイプは何でしょう? 確かコンソールアプリを作っているのですよね Win32SDKで作成しているなら Imm系で制御といった場合もあると思います .NET Frameworkで作成しているのですと Imm.hをインクリュードするのに必要なヘッダーがImm.hより先にインクリュードしないといけないといった制限がありそうです

zaxs5968
質問者

お礼

ご回答ありがとうございます; >Microsoft Visual C++ 2008 Express Edition で >Win32 Console Application(多分) を使っています。 DirectXで3Dゲームを作っていて、 いわゆるオンラインゲームのチャットバーみたいな物を作りたくて、 1行分(100文字未満)を稼動中に取得して、  ・ワードに反応するキャラクター  ・命令文に目的語を付けて、複雑な操作を個人好みに簡略化できる仕組み などを作りたく思っています orz 「1行分の日本語文字列を、稼動中にchar配列等に格納」さえ出来れば何でも・・ と言った感じです orz imm32.lib というものも一応ライブラリでリンクしているはずなのですが・・ もう少し自分なりにも調べてみますね、

  • php504
  • ベストアンサー率42% (926/2160)
回答No.1

環境によっていろいろ方法が変わりますがほとんどの人はimmとか使ってないでOSに任せてるのではないでしょうか。 テキストエリアであればリソースのEDITTEXTかCreateWindowでTEXTコントロールを作るのがほとんどでしょう

zaxs5968
質問者

お礼

ご回答ありがとうございます、 なるほど・・OSに任せられるならば楽なのですね; DirectXでゲームとして作っているのですが、 稼動中のものに最前面にそれを表示させる・・事ができれば簡単そうに思えるのですが・・orz 用途によって仕組みが違うのですね; ありがとうございました

関連するQ&A

  • 日本語入力 の実装方法のヒントを教えて下さい orz

    多くのソフトで見られるテキストエリアというか、 自由に日本語を入力できる機能を作りたいのですが、 1.この自由に文字を入力できる機能は何という名称の技術なのでしょうか?   技術を検索したくても言葉が解らず困っています。   (日本語入力システム キャレット IME c++ 等では見つからず・・) 2.実装するために参考になりそうな、コード(というか関数名でも何でも)   解説サイト、書籍他何でも良いので   些細な事で構いませんので、情報を下さると幸いです orz とっかかりが見つからず、適切な言葉すら見つからない質問ですみません; よろしくお願いいたします orz

  • 突然、文字変換・入力が不能になって、「imm32.dllを捜すことがで

    突然、文字変換・入力が不能になって、「imm32.dllを捜すことができないのでアプリケーションを始めることができません。この問題を解決しょうとするならば、アプリケーションを設置してください。 」という表示がボックスに現れました。初めてのケースで、アプリケーションがどこにあるのか、さっぱり解らずお手上げです。お詳しい方、手順を一から教えていただければ幸いです。 尚、ソフトはXPの外国製バージョンで上記の案内は翻訳したものです。よろしくお願いします。

  • 日本語の入力が出来なくなりました。

     日本語の入力ができなくなってしまいました。まるでアメリカのパソコンみたいにアルファベットでの入力しかできなくなってしまい、困っています。  日本語入力のソフトが壊れてしまったのでしょうか。回復方法のアドバイスをお願いします。 パソコン歴は4,5年ですが、余り詳しくありません。パソコンの動作が重く感じることがあり、時々メンテナンスと思って「CCleaner」や「Glary Utilities」などを使ています。そのせいかどうかわかりません。 OSはVistaからのアップグレードでWindows7HomePremiumです。デスクトップで、このお願いは別のノートパソコンで書き込んでいます。 よろしくお願いいたします。

  • 日本語入力

    1、日本語できない外国人に向きの日本語入力方法またソフトありますか? 2、日本語の漢字,簡体と繁体の交換ソフトありますか?

  • 日本語入力はむずかしい?

    触ってないのになんで日本語入力できたり、できなかったりするんだろ? 今機嫌がよいので入力できます。 だれかがいってましたが、日本語入力は難しいので、 英語を覚えたほうがはやいいですと。 そうかな~? 富士通もマイクロソフトもなげやりなのでわかんのか。

  • 最初から日本語入力を有効にするためには

    質問内容は上記の通りですが、理由は検索をしようと思って入力をすると半角入力で煩わしさを感じることがあります。どうやってはじめから日本語にするのかを検索しましたが、私の環境とソフトではそれに会うやり方が見つかりませんでしたので、質問をさせて頂きます。 WindowsXP ブラウザFirefox IME グーグル日本語入力使用

  • 日本語入力ができない

    WindowsMeで、日本語入力がまったく出来なくなってしまいました。 キーボードのプロパティの入力ロケールで、日本語(IME2000)を追加しようとしても、エラーが出てできません。 どうすればよいでしょうか? IMEを再インストールしなくてはいけないのでしょうか? 良きアドバイスを宜しく御願い致します。

  • ATOK2011で日本語が入力出来なくなる。

    宜しくお願い致します。 10.7.1の環境で、ATOK2011が日本語を受け付けなくなり、 英数入力しか入力出来なくなります。 再起動すれば直ります。 Safariだけでは無く、FireFoxも同じです。 入力ソースをGoogleに変えると正常に日本語が入力出来ます。 JustSystemではSafariで特定の日本語が入力出来なくなる、 とは書いてありますが、自分の環境では全ての日本語が入力出来ません。 これはATOKの問題でしょうか? それとも自分個人の環境のせいでしょうか? 改善策など有りましたら、ご助言下さい。

    • ベストアンサー
    • Mac
  • Windows7再構築で日本語入力バーが出ません

    Windows7使用中動作が不安故System再構築したところ、日本語入力バーが表示されなく成りました。表示するための手順をご教示願います。

  • 日本語入力

    最近新しいPCを手に入れました。 英語版OS導入済みなので日本語入力できません。 簡単に安く日本語入力できる方法はあるでしょうか。 ブラウザの検索入力だけでも日本語入力したいのですが。 つまり キーボードで「atarashii,pasokonnwonyuushushimashita」 と打ったら「新しい、パソコンを入手しました」 と表示してくれるソフトが簡単に入手できないものかと。

専門家に質問してみよう