0

SendKeyウィンドウ名で特定されたウィンドウにキーストロークを送信するためにこれらの関数を 使用しています

[DllImport("user32.dll")]
public static extern int FindWindow(
    string lpClassName, // class name 
    string lpWindowName // window name 
    );

[DllImport("user32.dll")]
public static extern int SetForegroundWindow(
    int hWnd // handle to window
    );

キーストロークをフォアグラウンドに置かずにウィンドウに送信する別の方法はありますか?

私は多くのウィンドウを切り替えSendKeyており、制御できないいくつかのエラーが発生していSendWaitます。スレッドの遅延を設定しても使用できません。可能な限り高速にする必要があります。

私はそれがどのようにできるかを見ているだけです。

4

2 に答える 2

2

この質問はすでに SO で対処されています。

Windows API を使用してウィンドウをアクティブ化せずにウィンドウにキー ストロークを送信するにはどうすればよいですか?

于 2009-09-12T18:32:13.857 に答える
0

フォアグラウンド ウィンドウのみがキーストロークまたはユーザー アクティビティを受け取ることになっているため、Windows アーキテクチャでそれが許可されるとは思いません。

別の方法として、仮想デスクトップを作成し、デスクトップをその仮想デスクトップに移動し、画面に表示されないキーを渡すことができます。

于 2009-09-12T18:32:53.503 に答える