Используйте функцию SHFileOperation. Тип операции wFunc установите FO_DELETE. Обычный режим работы функции предусматривает вывод диалога отображения протекания файловой операции (прогресс-диалога) и получение подтверждения от пользователя на выполнение операции. Если необходимодимо обойти подобные запросы, установите в поле fFlags флаг FOF_NOCONFIRMATION, флаг FOF_SILENT подавляет вывод прогресс-диалога.
#include <shellapi.h>
#pragma comment(lib,"shell32") int res;
SHFILEOPSTRUCT fo;
ZeroMemory(&fo, sizeof(fo));
fo.hwnd = hwndOwner; // хэндл окна-владельца прогресс-диалога
fo.pFrom = pszFullPath;
fo.wFunc = FO_DELETE;
fo.fFlags = FOF_NOCONFIRMATION;
res = SHFileOperation(&fo);
Для удаления файла в корзину необходимо установить флаг FOF_ALLOWUNDO.