- PR -

キーボードの自動入力について[C#]

投稿者投稿内容
todo
ぬし
会議室デビュー日: 2003/07/23
投稿数: 682
投稿日時: 2004-04-07 15:02
引用:

シゲルさんの書き込み (2004-04-07 14:43) より:
あと、不思議なことに、
アプリケーションを立ち上げた最初のSendWait("^c")の処理だけは、
必ずきちんと[CTRL+C]がききます。
しかし、その後は、何度か繰り返さないと効かないことが
ほとんどで、時々一度で効いたりすることもあります。


ボタンをクリックしたときにボタンにフォーカスが移ります。
CTRL+Cはボタンに送られますが何もならないでしょう。
アプリケーションを立ち上げた時に効くというのが私には不思議です。



Jitta
ぬし
会議室デビュー日: 2002/07/05
投稿数: 6267
お住まい・勤務地: 兵庫県・海手
投稿日時: 2004-04-07 15:25
 先にFlushしてみたらどうでしょう?
シゲル
常連さん
会議室デビュー日: 2004/04/03
投稿数: 27
投稿日時: 2004-04-07 15:27
todoさま

>ボタンをクリックしたときにボタンにフォーカスが移ります。
>CTRL+Cはボタンに送られますが何もならないでしょう。
>アプリケーションを立ち上げた時に効くというのが私には不思議です。

処理内容を詳しく言うと次のような感じです。

ボタンをクリックすると、
別のウィンドウにフォーカスを移し、
そのアクティブになったウィンドウに対して、
SendWait("^c")するという処理です。



シゲル
常連さん
会議室デビュー日: 2004/04/03
投稿数: 27
投稿日時: 2004-04-07 15:47
Jittaさま

>先にFlushしてみたらどうでしょう?

今からやってみます。
todo
ぬし
会議室デビュー日: 2003/07/23
投稿数: 682
投稿日時: 2004-04-07 15:49
引用:

シゲルさんの書き込み (2004-04-07 15:27) より:
別のウィンドウにフォーカスを移し、



どのような方法で?

↓の方法はどうでしょう。

VB6のSendKeysと同じ事を行うには
http://dobon.net/vb/dotnet/vb6/all.html

シゲル
常連さん
会議室デビュー日: 2004/04/03
投稿数: 27
投稿日時: 2004-04-07 16:39
Jittaさま

>>先にFlushしてみたらどうでしょう?
>
>今からやってみます。

SendKeys.Flush();
SendKeys.SendWait("^c");

SendKeys.Flush();
SendKeys.Send("^c");

とどちらも試してみましたがだめでした。


シゲル
常連さん
会議室デビュー日: 2004/04/03
投稿数: 27
投稿日時: 2004-04-07 16:51
※先ほどのメッセージ間違えてしまいました。
※こちらが本当です。
※SendWaitとFlushの行を逆に書いてしまいました。

Jittaさま

>>先にFlushしてみたらどうでしょう?
>
>今からやってみます。

SendKeys.SendWait("^c");
SendKeys.Flush();

SendKeys.Send("^c");
SendKeys.Flush();


とどちらも試してみましたがだめでした。


シゲル
常連さん
会議室デビュー日: 2004/04/03
投稿数: 27
投稿日時: 2004-04-07 16:56
todoさま

>>シゲルさんの書き込み (2004-04-07 15:27) より:
>>別のウィンドウにフォーカスを移し、
>
>どのような方法で?
>↓の方法はどうでしょう。
>VB6のSendKeysと同じ事を行うには
>http://dobon.net/vb/dotnet/vb6/all.html


他のウィンドウをアクティブにするのに
SetForegroundWindowを使っています。

スキルアップ/キャリアアップ(JOB@IT)