正如wangxd所说的那样,不同的文件之间用一个#0隔开,用#0#0结束。<br>我是在98下执行的,下面是我的程序的一个部分。<br>var<br> OpStruc: TSHFileOpStruct;<br> i:integer;<br> filename,temppath,dealfiles,backupname:string;<br> frombuf,tobuf:array[0..65535] of char;<br>begin<br> .....<br> FillChar( frombuf, Sizeof(frombuf), 0 );<br> FillChar( tobuf, Sizeof(tobuf), 0 );<br> StrPCopy( frombuf,dealfiles);//dealfiles要复制的文件,如果是多个文件的话用;分开。<br> for i:=0 to length(dealfiles) do<br> if frombuf=';' then frombuf:=#0;<br> StrPCopy( tobuf, backupname);//backupname是要复制文件的目标目录<br> With OpStruc DO Begin<br> Wnd:= Handle;<br> wFunc:= FO_COPY;<br> pFrom:= @frombuf[1];<br> pTo:=@tobuf;<br> fFlags:= FOF_NOCONFIRMATION or FOF_NOCONFIRMMKDIR;<br> fAnyOperationsAborted:= False;<br> hNameMappings:= Nil;<br> lpszProgressTitle:= Nil;<br> end;<br> ShFileOperation( OpStruc );<br> .....<br>end;<br>