DOBON.NET DOBON.NETプログラミング掲示板過去ログ

非アクティブの時に

環境/言語:[C#2005]
分類:[.NET]

 今、テキスト入力支援ソフトを作ろうとしているのですが
キーボードからの入力を受け取るところで壁に当たりました
プログラムを起動した時にはメインフォームのKeypressイベントを使って、keycharを
取得するということをしています。
ですがこれだとフォームが非アクティブになったとき(たとえばメモ帳などにカーソルをあわせたとき)
にはイベントが動作しません。
いったいどうしたらいいのでしょうか?
それとENTERキーなどを取得するにはどうしたらいいのでしょうか?
  • 題名: Re[1]: 非アクティブの時に
  • 著者: java.lang.Nullpo
  • 日時: 2004/11/30 9:53:13
  • ID: 7722
  • この記事の返信元:
  • この記事への返信:
    • (なし)
  • ツリーを表示
■No7720に返信(ムジックさんの記事)
> 今、テキスト入力支援ソフトを作ろうとしているのですが
> キーボードからの入力を受け取るところで壁に当たりました
> プログラムを起動した時にはメインフォームのKeypressイベントを使って、keycharを
> 取得するということをしています。
> ですがこれだとフォームが非アクティブになったとき(たとえばメモ帳などにカーソルをあわせたとき)
> にはイベントが動作しません。
> いったいどうしたらいいのでしょうか?
> それとENTERキーなどを取得するにはどうしたらいいのでしょうか?

「Windows サービス」でやらないのですか?
■No7720に返信(ムジックさんの記事)
> プログラムを起動した時にはメインフォームのKeypressイベントを使って、keycharを
> 取得するということをしています。
> ですがこれだとフォームが非アクティブになったとき(たとえばメモ帳などにカーソルをあわせたとき)
> にはイベントが動作しません。
> いったいどうしたらいいのでしょうか?
他のソフトで入力さ
■No7720に返信(ムジックさんの記事)
> プログラムを起動した時にはメインフォームのKeypressイベントを使って、keycharを
> 取得するということをしています。
> ですがこれだとフォームが非アクティブになったとき(たとえばメモ帳などにカーソルをあわせたとき)
> にはイベントが動作しません。
> いったいどうしたらいいのでしょうか?
他のソフトで入力されたキーも取得したいという話であれば出来ないと思ってください。
他のソフトでユーザーIDやパスワードを入力したものも取得出来ることになってしまい危険です。
フォームが非アクティブになったときに発生するイベントを取得したいのであれば、
Form.Deactivate イベントを参照してください。

> それとENTERキーなどを取得するにはどうしたらいいのでしょうか?
以下のページを参照してください。
Form.KeyPreviewを使用してEnterキーも取得できます。
http://dobon.net/cgi-bin/vbbbs/cbbs.cgi?mode=al2&namber=7381&rev=&no=0

DOBON.NET | プログラミング道 | プログラミング掲示板