int RecycleFile(const char * sTargetFile) { int iResult = 1;/*Assume failure.*/ SHFILEOPSTRUCT info = {NULL}; char sDeletePath[MAX_PATH+2] = {'\0'}; char * psDummy = NULL; DWORD dwStatus = GetFullPathName(sTargetFile,sizeof(sDeletePath),sDeletePath,&psDummy); if( (dwStatus != 0) && (GetFileAttributes(sTargetFile) != 0xffffffff) ) { info.wFunc = FO_DELETE; info.pFrom = sDeletePath; info.fFlags = FOF_ALLOWUNDO | FOF_NOCONFIRMATION; iResult = SHFileOperation(&info); } return iResult; }