有人知道delphi中删除文件夹和运行文件的函数吗?
解决方案 »
- 自动化COM开发-如果在客户端关闭时不自动destroy服务器端
- ActiveX TSTCON32无法退出进程
- 问一个BusinessSkin皮肤控件动态生成主菜单的问题?急!!
- 如何能将clientdataset 的数据保存在本地为XML文件啊 高手指点下
- sql server2000中在字段类型为float字段,如果值为小于1的时候,这个0怎么就没有了?
- 怎么改变ListView中Item的字体颜色
- 奇怪的问题关于树的DATA
- 汇集Delphi编译器后台动作曝光点!
- 在dbgrid中怎样程控选中一行?或者程控转移行焦点?
- 请问OfficeXP(WindowsXP)中的特别美的菜单是用什么控件作的,如果有,哪可一下载的到?请告知。
- try..except..end;各位老大,请说一下你们通常的用法,
- 在FastReport中关于crossview中求差的用法?高手指点
var
hFindFile:Cardinal;
tfile:String;
sCurDir:String;
bEmptyDir:Boolean;
FindFileData:WIN32_FIND_DATA;
begin
//如果删除的是空目录,则置bEmptyDir为True
//初始时,bEmptyDir为True
bEmptyDir:=True;
//先保存当前目录
sCurDir:=GetCurrentDir;
SetLength(sCurDir,Length(sCurDir));
ChDir(sDirName);
hFindFile:=FindFirstFile('*.*',FindFileData);
if hFindFile< >INVALID_HANDLE_VALUE then
begin
repeat
tfile:=FindFileData.cFileName;
if (tfile='.') or (tfile='..') then
begin
bEmptyDir:=bEmptyDir and True;
Continue;
end;
//不是空目录,置bEmptyDir为False
bEmptyDir:=False;
if FindFileData.dwFileAttributes=
FILE_ATTRIBUTE_DIRECTORY then
begin
if sDirName[Length(sDirName)]< >'\' then
DoRemoveDir(sDirName+'\'+tfile)
else
DoRemoveDir(sDirName+tfile);
if not RemoveDirectory(PChar(tfile)) then
result:=false
else
result:=true;
end
else
begin
if not DeleteFile(PChar(tfile)) then
result:=false
else
result:=true;
end;
until FindNextFile(hFindFile,FindFileData)=false;
FindClose(hFindFile);
end
else
begin
ChDir(sCurDir);
result:=false;
exit;
end;
//如果是空目录,则删除该空目录
if bEmptyDir then
begin
//返回上一级目录
ChDir('..');
//删除空目录
RemoveDirectory(PChar(sDirName));
end; //回到原来的目录下
ChDir(sCurDir);
result:=true;
end;---- 2.2删除目录的函数:DeleteDir function DeleteDir(sDirName:String):Boolean;
begin
if Length(sDirName)< =0 then
exit;
//删除...
Result:=DoRemoveDir(sDirName) and RemoveDir(sDirName);
end;
begin
if FileExists(ShellListView1.SelectedFolder.PathName) then // 判断是不是文件
ShellExecute(0, 'open', PChar(ShellListView1.SelectedFolder.PathName), nil, nil, SW_SHOWNORMAL);
end;
RemoveDirectory ('要删除的目录名',0) ;WinExec('要运行文件名',0) ;