フォーカスが当てられている入力点(キャレット位置、ウィンドウ/コントロール)を取得する必要があります。私のアプリケーション/サービスは、ユーザーが入力を開始したときを検出してから、入力された文字を所定の値に置き換える必要があります。トリックは、ユーザーが入力したい場所がわからないということです(私はこれをいくつかのアプリケーションに限定したくありません)。ユーザーが入力した入力文字を取得する(WINAPI、user32.dll)
は私が/取得使用してテキストを置換する方法を知っていると思います:
[DllImport("USER32.DLL", CharSet = CharSet.Auto)]
public static extern IntPtr SendMessage(IntPtr hWnd, uint msg, IntPtr wparam, StringBuilder text);
は、どのように私は注目しているコントロールを得るのですか?テキストをどこから入手するのか、どこで代替品を送付するのかをどのように知っていますか?
私はこれをC#、WPFで行っています。
ありがとうございました!
どのようにキーストロークを取得していますか?イベントハンドラを使用している場合、RoutedEventArgsには「OriginalSource」というプロパティがあります。このプロパティは、親クラスによるソース調整の前に、純ヒットテストで決定された元のレポートソースを取得します。これは、エンドユーザーがテキストを入力していたコントロールを示します。このコントロールにTextプロパティを照会します。 –