特定の (非定期的な) 時間間隔の後にアクティブなウィンドウに異なるキーを送信する Windows フォーム アプリを作成しようとしています。
たとえば、ボタンを押した後、プログラムは 3 秒間待機してから、アクティブなウィンドウに "H" を送信します。さらに 1 秒後に「E」を送信し、さらに 1 秒後に「Y」を送信します。
しかし、私がこれを試すと:
Thread.Sleep(3000);
SendKeys.Send("H");
Thread.Sleep(1000);
SendKeys.Send("E");
Thread.Sleep(1000);
SendKeys.Send("Y");
プログラムは (少なくとも) 3 秒間待機しますが、次の 2 つのキーが送信される間は一時停止していないようです。
Sleep は少なくとも指定された引数の遅延のみを保証するため、Timer を使用して同様のものを実装しようとしてきました。より正確なものが必要です。ただし、私が見つけることができた唯一の例は、定期的な時間間隔の後にコードが実行されていました。
スリープを使用して試したことを達成するためにタイマーを使用する方法、または一般的により良い方法はありますか?