0

特定の時刻に関数を実行する VB コンソール プログラムを作成しています。これは私がこれまでに持っているものです。

Sub Main()
    Do
    Dim backupTime As String

    backupTime = My.Settings.backupTime


    While TimeOfDay = backupTime
        Threading.Thread.Sleep(2000)
    End While


    backup()
  loop
End Sub

参照されている「backupTime」は App.Config ファイルに格納されています

<userSettings>
    <ZipAJob_Timed.My.MySettings>
        <setting name="backupTime" serializeAs="String">
            <value>#01:59:00 PM#</value>
        </setting>
    </ZipAJob_Timed.My.MySettings>
</userSettings>

問題は、「Do While」ループが「TimeofDay」が「backupTime」と一致するかどうかを 2 秒ごとにチェックすることです。しかし、2 秒の差でプログラムが実行されない可能性があります。したがって、秒を無視するか、TimeofDay.minutes/hours と backupTime.minutes/hours のみを一致させる必要があります。

私は解析を調べました..しかし、どこから始めるべきか正確にはわかりません。

4

1 に答える 1

2

<代わりに単純に使ってみません=か?

While TimeOfDay < backupTime
    Threading.Thread.Sleep(2000)
End While

ただし、ループの代わりに、指定された時間に開始するタイマーまたはWindowsタスクを使用します。

于 2013-02-22T19:45:16.240 に答える