Использование ping хорошо, если вы просто хотите «немного подождать». Это связано с тем, что вы зависите от других функций, таких как ваша сеть и тот факт, что на 127.0.0.1 ничего не отвечает. ;-) Может быть, это не очень вероятно, что это терпит неудачу, но это не невозможно ...
Если вы хотите быть уверены, что ожидаете точно указанное время, вы должны использовать функцию sleep
(которая также имеет то преимущество, что она не использует питание процессора или ожидает готовности сети).
Найти уже готовый исполняемый файл для сна - самый удобный способ. Просто поместите его в папку Windows или любую другую часть стандартного пути, и он всегда будет доступен.
В противном случае, если у вас есть среда компиляции, вы можете легко создать ее самостоятельно.
Функция Sleep
доступна в kernel32.dll
, поэтому вам просто нужно ее использовать. :-)
Для VB / VBA объявите следующее в начале вашего источника, чтобы объявить функцию сна:
private Declare Sub Sleep Lib "kernel32" Alias "Sleep" (byval dwMilliseconds as Long)
Для C #:
[DllImport("kernel32.dll")]
static extern void Sleep(uint dwMilliseconds);
Подробнее об этой функции (доступно начиная с Windows 2000) вы можете узнать в Функция сна (MSDN).
В стандартном C sleep()
входит в стандартную библиотеку, а в Microsoft Visual Studio C функция называется Sleep()
, если мне не изменяет память. ;-) Эти два аргумента принимают аргументы в секундах, а не в миллисекундах, как два предыдущих объявления.