Во-первых, вы не должны никуда звонить DoEvents. По большей части, когда это используется, это хак, чтобы обойти то, что действительно должно быть асинхронной операцией.
При этом метод Copy
является синхронной операцией. Вызов OpenFile
не будет выполнен до тех пор, пока не завершится вызов Copy
.
То, что говорится, когда происходит вызов OpenFile
, если файл не существует, это потому, что вы скопировали его в неправильное место или потому, что какой-то другой процесс работает с данным файлом.