1

プログラムでキーボード ストロークを再現する ac# プログラムを作成しました。私の考えは、これらのキーボードストロークを、テキストボックスがフォーカスされている可能性のある別のアプリケーションに渡すことでした。

したがって、私のプログラムでは、キーボードストロークをリダイレクトする必要があるウィンドウをユーザーに選択してもらいたいと考えています。そのために、待つことができる方法を知りたいです。キーボードストロークを送信する必要があるウィンドウをユーザーに選択させ、ユーザーがアプリケーションで[OK]をクリックして確認すると、アプリは必要なウィンドウを認識しますhwnd を取得して制御します。

どうやってやるの?

4

1 に答える 1

2
using System;
using System.Windows.Forms;
using System.Runtime.InteropServices;
using System.Text;

public class MainClass

    // Declare external functions.
    [DllImport("user32.dll")]
    private static extern IntPtr GetForegroundWindow();

    [DllImport("user32.dll")]
    private static extern int GetWindowText(IntPtr hWnd,
                                            StringBuilder text,
                                            int count);

    public static void Main() {
        int chars = 256;
        StringBuilder buff = new StringBuilder(chars);

        // Obtain the handle of the active window.
        IntPtr handle = GetForegroundWindow();

        // Update the controls.
        if (GetWindowText(handle, buff, chars) > 0)
        {
            Console.WriteLine(buff.ToString());
            Console.WriteLine(handle.ToString());
        }
    }
}
于 2009-04-03T09:52:19.590 に答える