- - PR -
キーボードの自動入力について[C#]
投稿者 | 投稿内容 | ||||||||
---|---|---|---|---|---|---|---|---|---|
|
投稿日時: 2004-04-07 17:09
どうも、コントロールキーが怪しいですね。
System.Windows.Forms.SendKeys.SendWait("{TAB}"); System.Windows.Forms.SendKeys.SendWait("+AB+C"); これだと期待通り(でもないが)、ボタンの次にあるテキストボックスにフォーカスが移り、ABCが入力されました。が、MSDNに書いてある通りだとすると、「AbC」が入力されるはずなんですけどねぇ。。。
"B"が、"Shift+B"を意味するなら、期待通りですけど。。。あら、 System.Windows.Forms.SendKeys.SendWait("+aB+C"); が、「ABC」なので、大文字は大文字キーらしい。。。 追加: prvForm2を、他のフォームとします。 prvForm2には、テキストボックスが1つあります。 このテキストボックスに何か入力してあるとします。 prvForm2でのフォーカスはこのテキストボックスにあるとします。 このとき、Form1から以下のコードを実行します。 prvForm2.Activate(); System.Windows.Forms.SendKeys.SendWait("{HOME}"); System.Windows.Forms.SendKeys.SendWait("+({RIGHT}{END})"); すると、prvForm2のテキストボックスに入力された文字すべてが選択状態になります。このことより、SendKeysが期待通りに動作していると判断します。 が、コントロールキーを表すという"^"が入ると、フォーカスがロストします。何でだろう? [ メッセージ編集済み 編集者: Jitta 編集日時 2004-04-07 17:16 ] | ||||||||
|
投稿日時: 2004-04-07 17:24
SendKey 物でしたら、(一般的に)
Ctrl+ のショートカットキー 関係は不調になる率が昔から高い ため、 メニューの ALT+ をできるだけ使うように心がけています。 迷信でしょうか ? [ メッセージ編集済み 編集者: MMX 編集日時 2004-04-08 10:04 ] | ||||||||
|
投稿日時: 2004-04-07 18:22
SendWait("^c")がだめならと、
MMXさんのおっしゃるとおり、 (ALT+E)+C でどうだと やってみましたが、 やはり、効いたり効かなかったりでした。 あと、{DEL}もちょっと試してみたのですが、 これも効いたり効かなかったりです。 大変恐縮ですが、SendInputを試してみたいのですが、 どなたかやり方を懇切丁寧に教えていただけないでしょうか? | ||||||||
|
投稿日時: 2004-04-07 18:29
Googleで「SendInput」で検索するとVBですがSendInputのサンプルの載っているページが
最初にみつかります。そこを参考にしてみてはどうでしょうか | ||||||||
|
投稿日時: 2004-04-07 19:34
実はこのページはすでに昨日見つけています。 で、結局よくわからなかったので・・・ でも、もう一度がんばってトライしてみようと思います。 | ||||||||
|
投稿日時: 2004-04-07 21:23
うーーん。無理だ・・・ 誰かたすけてー | ||||||||
|
投稿日時: 2004-04-07 23:34
入力を横取り・妨害するようなものは、他にありませんか?
キー入力の便利ソフト類、 スペルチェック・入力補完(カーソル画像がプルプル震えるのが多い) キー入れ替え 短い時間間隔で監視するようなもの カーソルの位置を補正するような常駐ソフト(○○マウス) あとは、キーロガーとか! [ メッセージ編集済み 編集者: MMX 編集日時 2004-04-08 10:05 ] | ||||||||
|
投稿日時: 2004-04-08 01:56
それに類するようなプログラムは動いていません。 SendInputの使い方自体がようわからんとです・・・(←どこの人???) 実はまだWindowsのプログラムをはじめて2週間くらいで、 今ひとつよくわかっとらんのですよ。 きっとSendInputさえできれば問題は解決するような気がします。 SendInputの場合、boolの戻り値があるんですよね? だから、もしきちんと処理できなかったら、 Sendkeyと違ってリトライをかけられますもんね。 しかし、C#って情報が少なすぎますね・・・ インターネットを探せば、C++もVBもソースコードの例があるのに C#にはない・・・ あるのは、簡単に使えて、実際は使い物にならないSendKeyだけ・・・はぁ・・・ と、ぼやいても仕方がないのだが・・・ |