現在の時刻/日付とランダムなスライドショーを表示するモニターがあります。スライドショーが開始されると、ディレクトリ内のすべての画像ファイルのリストが作成され、ランダム化され、空になるまでそこから画像がポップされ、空になると新しい画像が生成されます。特定の間隔で写真をポップします。
すばらしい背景画像になりそうな写真を見つけたので、それを見つけたいと思います。問題は、約 50 GB の写真があり、それらを手動で検索しないことです。
私の計画は、スライドショーでランダム オブジェクトのシードを見つけることです。ランダム オブジェクト コンストラクターでシードを指定しない場合、Enviroment.TickCount プロパティが使用されます。このプロパティは、システムが起動してからのミリ秒数を返します。
画像がいつ画面に表示されたかはおおよそわかっており、プロセスは開始時刻を記憶しているため、実際にランダム オブジェクトのシードを計算できました。また、新しいシーケンスを生成するときに 5 秒の遅延があるため、スライドショー シーケンスの最後の画像を覚えているので、シードが正しいかどうかを簡単に確認できます。
ただし、DateTime.Now はミリ秒単位の精度ではないように思われるため、それを整理できれば、チェックする画像ははるかに少なくなります。
Sub Main()
Dim SystemStartTime = Now.AddMilliseconds(-Environment.TickCount)
Console.WriteLine(SystemStartTime.Millisecond) REM Prints different numbers each time. They should be equal
Console.ReadLine()
End Sub