Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Visual C++/MFC/WTL > SHFileOperation


Автор: nmc 22.4.2009, 18:59

При удалении SHFileOperation появляется
окошко которое предлагает подтвердить или отказаться от удаления
но функция возвращает ноль(f = SHFileOperation (&sh);) 
и при OK  и Cancel
хотя само удалении при Cancel не происходит
Как можно различить что выбрали ok или cancel

Автор: voov 23.4.2009, 11:37
SHFileOperation Function

int SHFileOperation(          
     LPSHFILEOPSTRUCT lpFileOp
);

Return Value
Returns zero if successful; otherwise nonzero.

т.е. при успехе всегда 0.


typedef struct _SHFILEOPSTRUCT {
    HWND hwnd;
    UINT wFunc;
    LPCTSTR pFrom;
    LPCTSTR pTo;
    FILEOP_FLAGS fFlags;
    BOOL fAnyOperationsAborted;
    LPVOID hNameMappings;
    LPCTSTR lpszProgressTitle;
} SHFILEOPSTRUCT, *LPSHFILEOPSTRUCT;

fAnyOperationsAborted
When the function returns, this member contains TRUE if any file operations were aborted before they were completed; otherwise, FALSE. An operation can be manually aborted by the user through UI or it can be silently aborted by the system if the FOF_NOERRORUI or FOF_NOCONFIRMATION flags were set.

смотри флаг fAnyOperationsAborted
Код

sh.fAnyOperationsAborted ?

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)