📄 57.htm
字号:
<!-- saved from url=(0022)http://internet.e-mail -->
<html>
<head>
<title>删除或重命名正在打开的文件 </title>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<link rel="stylesheet" href="inc.css">
</head>
<body bgcolor="#FFFFFF" text="#000000" link="#000000" vlink="195434" alink="195434">
<table width="621" border="0" cellspacing="0" cellpadding="0" align="center">
<tr>
<td width="621"><a href="http://www.CoDelphi.com"><img src="images/logo.gif" border="0" width="153" height="60"><img src="images/bigbanner.gif" border="0" width="468" height="60"></a></td>
</tr>
</table><br>
<br>
<table width="621" border="0" cellspacing="0" cellpadding="0" align="center">
<tr>
<td align="left" valign="top" class="font9" height="155">
<div align="center" class="btitle">删除或重命名正在打开的文件 <br>
<br>
</div>
<div align="center"><strong>CoDelphi.com </strong></div>
<b><br>
摘 要</b>:对一些windows使用的文件,如DLL或VxD,有些时候需要<br>
<b> 关键字</b>:重启 删除 复制 重命名 文件 <br>
<b> 类 别</b>:API
<hr size="1" width="100%">
<span class="content"> Windows NT中有一个函数MoveFileEx,若使用MOVEFILE_DELAY_UNTIL_REBOOT 标记,它可以在重启过程中删除文件。但是,Windows 9x 并不支持这个标记。怎么办呢?<Br><Br> 每次当你重启,windows会在Windows目录下寻找文件WININIT.INI。这个文件包含删除/复制/重命名文件的命令,它可以在任何东西(实际上是决大部分)被载入前运行。你可以在[Rename]部分里使用语法 目标文件=原文件。如果目标文件为NUL,则文件将被删除。文件名和路径必须是短文件名(因为这个过程运行于长文件名支持程序载入之前)。<Br><Br> 注意文件win32.hlp与这个例子相反,你不可以使用WritePrivateProfileString()或TiniFile访问这个文件,可能由于它有副本值。若它有空值,TiniFile会覆盖它而不是新建一个,所以你最好使用TstringList代替。<Br><Br> 以下是一些输入项:<Br><Br> [rename]<Br> NUL=C:\TEMP.TXT<Br> NUL=C:\TEMP2.TXT<Br> C:\NEW_DIR\EXISTING.TXT=C:\EXISTING.TXT<Br> C:\NEW_DIR\NEWNAME.TXT=C:\OLDNAME.TXT<Br> C:\EXISTING.TXT=C:\TEMP\NEWFILE.TXT<Br><Br> 以下是函数DeleteLater,它会往wininit.ini里添加NUL=文件名,若wininit.ini不存在,则创建一个,也可以创建[rename]部分。<Br><Br>procedure DeleteLater(Filename: string);<Br>var<Br> Wininit : string;<Br> Buffer : array[0..MAX_PATH] Of char;<Br> I,J : integer;<Br> Ini : TStringList;<Br>begin<Br> FillChar(Buffer, SizeOf(Buffer), 0);<Br> GetWindowsDirectory(Buffer, SizeOf(Buffer));<Br> Wininit := IncludeTrailingBackslash(Buffer) + 'Wininit.ini';<Br><Br> Ini := TStringList.Create;<Br> try<Br> if FileExists(Wininit) then Ini.LoadFromFile(Wininit);<Br> for I := 0 to Ini.Count - 1 do Ini[I] := Uppercase(Ini[I]);<Br><Br> J := Ini.IndexOf('[RENAME]');<Br> if J = -1 then<Br> begin<Br> Ini.Add('[Rename]');<Br> J := 0;<Br> end;<Br> FillChar(Buffer, SizeOf(Buffer), 0);<Br> GetShortPathName(PChar(Filename), Buffer, SizeOf(Buffer));<Br> Ini.Insert(J+1, 'NUL=' + Buffer);<Br> Ini.SaveToFile(Wininit);<Br> finally<Br> Ini.Free;<Br> end;<Br>end;<Br><Br></span>
<table border="0" cellspacing="0" cellpadding="1" class="font9" align="center" width="100%">
<tr align="left" valign="middle" bgcolor="195434">
<td height="1"></td>
</tr>
</table>
</td>
</tr>
<tr>
<td bgcolor="#C9C9C6" height="2"></td>
</tr>
</table>
<div align="center"><br>
中文开发在线<a href="http://www.codelphi.com" target="_blank">www.codelphi.com</a>授权使用。
</div>
</body>
</html>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -