Следующий код генерирует ошибку 110 при вызове EndUpdateResource, только когда открыт проводник Windows в D: \ test \ output \ где исполняемый файл копируется в:EndUpdateResource() throws Ошибка 110 Система не может открыть устройство или файл, указанный при открытии windowsexplorer в месте вывода
std::ifstream in("C:\\Windows\\notepad.exe", std::ios::binary);
std::ofstream out("D:\\test\\output\\notepad.exe", std::ios::binary);
out << in.rdbuf();
in.close();
out.close();
Handle hUpdateRes = BeginUpdateResource(_T("D:\\test\\output\\notepad.exe"), FALSE);
EndUpdateResource(hUpdateRes, FALSE);
пока у меня нет этой папки открываются в Windows Explorer, он отлично работает. Если я его открываю, это вызовет ошибку. Кроме того, если я создаю CreateFile с доступом для чтения и записи до вызова BeginUpdateResource, он будет работать нормально, даже если у меня есть папка вывода. Я действительно смущен и буду признателен за любую помощь. Благодаря!
Отключите антивирусную программу и повторите попытку. –
Я не могу редактировать параметры безопасности на целевой машине, но я попробовал код на машине без антивируса, и, похоже, код работает нормально, поэтому вполне может быть проблема. Почему вызов createFile работает? Разве это не так, если сканер вирусов заблокирован? И почему работает UpdateResource? Если я добавлю это там? Это просто хронометраж? – Perez
Ну, я получил IT-отдел, чтобы временно отключить сканер, чтобы проверить, и вы были правы. Это был антивирус. Теперь мне просто нужно найти работу. Благодарю. – Perez