Я использую следующий код для удаления файла. это хорошо работает.
SHFILEOPSTRUCT FileOp;
ZeroMemory(&FileOp, sizeof(SHFILEOPSTRUCT));
FileOp.hwnd = m_hAppHandle;
FileOp.wFunc = FO_DELETE; //delete
FileOp.pFrom = szPath;
FileOp.pTo = NULL;
FileOp.fFlags = FOF_NOCONFIRMATION | FOF_NOERRORUI;
FileOp.fAnyOperationsAborted = FALSE;
FileOp.hNameMappings = NULL;
FileOp.lpszProgressTitle = NULL;
SHFileOperation(&FileOp);
Но недавно я нашел странную вещь, шаг воспроизведения следующим образом:
1. установить win2000
2. установить MS office2003
в первый раз (и только в первый раз) я вызываю функцию "SHFileOperation", чтобы удалить файл. затем окно с предупреждением системы показывает
"Windows не может создать ярлык здесь. Хотите, чтобы ярлык был размещен на рабочем столе?
«
независимо от того, что я выбираю кнопку «ОК» или «НЕТ», чтобы закрыть окно с предупреждением. затем такое окно предупреждающего сообщения больше никогда не отображается, то есть после закрытия окна предупреждающего сообщения я могу вызвать функцию «SHFileOperation», чтобы удалить файл без такого системного предупреждающего сообщения.
Это поистине волшебство, это случается один раз.
Кто-нибудь знает какую-нибудь информацию? Спасибо.