将文件删除到回收站的问题!(50分)

L

lxmzm

Unregistered / Unconfirmed
GUEST, unregistred user!
通过shellapi可以将文件删除到回收站中,但如何才能知道操作是成功的?
即:用户是点击“确定”还是“取消”
在shellapi中利用SHFileOperation(lpFileOp),好象点击 “确定”还是“取消”都返回0,
能取得用户是点击“取消”或“确定”的状态?
 
WINSHELLAPI int WINAPI SHFileOperation(
LPSHFILEOPSTRUCT lpFileOp
);
lpFileOp.fAnyOperationsAborted //是不是这个
 
lpFileOp.fAnyOperationsAborted 是在哪定义的?
 
函数参数:
SHFILEOPSTRUCT
typedef struct _SHFILEOPSTRUCT{
HWND hwnd;
UINT wFunc;
LPCSTR pFrom;
LPCSTR pTo;
FILEOP_FLAGS fFlags;
BOOL fAnyOperationsAborted;
/////////////////////// Here
LPVOID hNameMappings;
LPCSTR lpszProgressTitle;
} SHFILEOPSTRUCT, FAR *LPSHFILEOPSTRUCT;
 
procedure TForm1.Button1Click(Sender:Tobject);
var
OpStruc:TSHFileOpStruct;
fFileName:string;
begin
if opendialog1.execute then
fFileName:=opendialog1.fileName;
with OpStruc do
begin
Wnd:=0;
wFunc:=FO_DELETE;
pFrom:=Pchar(fFileName);
fFlags:=FOF_ALLOWUNDO;
end;
if messagedlg('Confirm Delete?',mtConfirmation,[mbyes,mbno],0)=mryes then
SHFileOperation(OpStruc);
end;
 
接受答案了.
 
顶部