1

キーボード用のフックを開発し、SetWindowsHookEx を使用して、すべてのキーストロークを TStringList 内に追加します。TStringList 内でキーストロークを操作するために、私は常に「.Text」プロパティを使用しています。たとえば、入力したキーストロークを追加するには、次を使用します。

KeyStrokes.Text:= KeyStrokes.Text + AChr;

[バックスペース] を検出した場合は、次を使用して StringList の最後の文字を削除しようとします。

KeyStrokes.Text := Copy(KeyStrokes.Text, 1, length(KeyStrokes.Text) - 1);

同じ「.Text」プロパティを使用してTMemo内に追加している間、これはすべて機能していました。しかし、保存された Log.txt ファイル (.SaveToFile プロパティを使用) に TStringList を入れると、次のようなログが得られます。

H

L

L

「こんにちは」の代わりに。「.Append」、「.Add」プロパティを試しましたが、常に同じです。そしてもちろん、最後の文字を削除するバックスペースは機能しなくなりました... キーストロークを正しく配置するには? TStringListでそれを行うことさえ可能ですか?

4

3 に答える 3