用SHFileOperationW删除文件夹或文件总出错 ( 积分: 50 )

  • 主题发起人 主题发起人 CoCoYin~
  • 开始时间 开始时间
C

CoCoYin~

Unregistered / Unconfirmed
GUEST, unregistred user!
考虑到,程序会在不同语言的电脑上运行,因此想用unicode。但不知道下面的代码为什么总是说明删除失败。可能是什么弱智的地方我没注意,还请有经验的朋友指出来。<br><br>代码如下:<br>function&nbsp;TMainForm.ShellDelete(Src:&nbsp;WideString):&nbsp;boolean;<br>var<br>&nbsp;&nbsp;OpStruc:TSHFileOpStructW;<br>&nbsp;&nbsp;res:&nbsp;boolean;<br>begin<br>&nbsp;&nbsp;with&nbsp;OpStruc&nbsp;do<br>&nbsp;&nbsp;begin<br>&nbsp;&nbsp;&nbsp;&nbsp;Wnd:=&nbsp;Application.Handle;<br>&nbsp;&nbsp;&nbsp;&nbsp;wFunc:=FO_DELETE;<br>&nbsp;&nbsp;&nbsp;&nbsp;pFrom:=PWideChar(Src);<br>&nbsp;&nbsp;&nbsp;&nbsp;pTo:=nil;<br>&nbsp;&nbsp;&nbsp;&nbsp;fFlags:=&nbsp;FOF_SIMPLEPROGRESS&nbsp;or&nbsp;FOF_NOCONFIRMATION;<br>&nbsp;&nbsp;&nbsp;&nbsp;fAnyOperationsAborted:=False;<br>&nbsp;&nbsp;&nbsp;&nbsp;hNameMappings:=nil;<br>&nbsp;&nbsp;&nbsp;&nbsp;lpszProgressTitle&nbsp;:=&nbsp;nil;<br>&nbsp;&nbsp;end;<br>&nbsp;&nbsp;res&nbsp;:=&nbsp;(SHFileOperationW(OpStruc)&nbsp;=&nbsp;NOERROR);<br>&nbsp;&nbsp;Result&nbsp;:=&nbsp;res;<br>end;
 
后退
顶部