LIBRARY: shell32 STRUCT: SHFILEOPSTRUCTW { hwnd HWND } { wFunc UINT } { pFrom LPCWSTR } { pTo LPCWSTR } { fFlags FILEOP_FLAGS } { fAnyOperationsAborted BOOL } { hNameMappings LPVOID } { lpszProgressTitle LPCWSTR } ; FUNCTION: int SHFileOperationW ( SHFILEOPSTRUCTW lpFileOp ) ; CONSTANT: FO_MOVE HEX: 0001 CONSTANT: FO_COPY HEX: 0002 CONSTANT: FO_DELETE HEX: 0003 CONSTANT: FO_RENAME HEX: 0004 CONSTANT: FOF_MULTIDESTFILES HEX: 0001 CONSTANT: FOF_CONFIRMMOUSE HEX: 0002 CONSTANT: FOF_SILENT HEX: 0004 CONSTANT: FOF_RENAMEONCOLLISION HEX: 0008 CONSTANT: FOF_NOCONFIRMATION HEX: 0010 CONSTANT: FOF_WANTMAPPINGHANDLE HEX: 0020 CONSTANT: FOF_ALLOWUNDO HEX: 0040 CONSTANT: FOF_FILESONLY HEX: 0080 CONSTANT: FOF_SIMPLEPROGRESS HEX: 0100 CONSTANT: FOF_NOCONFIRMMKDIR HEX: 0200 CONSTANT: FOF_NOERRORUI HEX: 0400 CONSTANT: FOF_NOCOPYSECURITYATTRIBS HEX: 0800 CONSTANT: FOF_NORECURSION HEX: 1000 CONSTANT: FOF_NO_CONNECTED_ELEMENTS HEX: 2000 CONSTANT: FOF_WANTNUKEWARNING HEX: 4000 CONSTANT: FOF_NORECURSEREPARSE HEX: 8000 M: windows send-to-trash ( path -- ) SHFILEOPSTRUCTW f >>hwnd FO_DELETE >>wFunc swap >>pFrom f >>pTo FOF_ALLOWUNDO FOF_NOCONFIRMATION bitor FOF_NOERRORUI bitor FOF_SILENT bitor >>flags SHFileOperationW win32-error=0/f ;