dearmb 发表于 2011-1-13 17:14:01

PendingFileRenameOperations键值应该怎么改?(已解决)

本帖最后由 dearmb 于 2011-1-17 08:27 编辑

查资料说修改这个键值可以更新文件
但是一直没改明白
查论坛就一个帖子,没看明白什么意思,能教俺一下么?
我的理解就是在注册表里建立
然后填写
\ \ ç:??\ Program Files文件\的Outlook Express \ tempp \ 9x.exe
\ \ ç:??\ Program Files文件\的Outlook Express \ tempp \ CALDERA.MBR
这样的句子,就是句子没看明白
比如说,我现在要把C:\WINDOWS\Fonts\arial.ttf替换掉,它正在被使用
D:\Fonts\arial.ttf是要替换上去的文件,怎么做呢?

gzh888666 发表于 2011-1-13 19:35:32

这个是AU3的范围内吗?

dearmb 发表于 2011-1-13 19:51:06

也算吧,要拿AU3实现啊
以前还有个帖子的作者给他发论坛短信也不应我,只好发帖请教了
肯定有人也会的吧

YoDe 发表于 2011-1-16 05:14:39

我那个帖子不说的很明白了。。

dearmb 发表于 2011-1-17 08:27:18

我那个帖子不说的很明白了。。
YoDe 发表于 2011-1-16 05:14 http://autoitx.com/images/common/back.gif

呃……你的没看明白……
刚找到个这个,容易理解
;===============================================================================
; 说明:   在系统重启后移动/删除文件
; 语法:   _FileMoveAtReboot($sSFile[, $sTFile = ""])
; 参数:   $sSFile - 源文件
;         $sTFile - [可选] 目标文件。如果不指定,文件将在重启后被删除
; 需要:   无
; 返回:   成功 - 1
;         失败 - 0, 并设置 @error 到
;            1 - 源文件不存在
;            2 - 权限不足。需要管理员组或 LocalSystem 帐户权限
;            3 - API 调用失败
; 备注:   源文件和目标文件必须在同一卷
;===============================================================================
Func _FileMoveAtReboot($sSFile, $sTFile = "")
      Local $sRegTmp, $iDel, $aResult
      $iDel = 0x5   ; MOVEFILE_REPLACE_EXISTING + MOVEFILE_DELAY_UNTIL_REBOOT
      If NOT FileExists($sSFile) Then Return SetError(1, 0, 0)

      $sRegTmp = "PendingFileRenameOperations" & Random(1000, 9999, 1)
      RegWrite("HKLM\SYSTEM\CurrentControlSet\Control\Session Manager", $sRegTmp, "REG_MULTI_SZ", "Test")
      If @error Then Return SetError(2, 0, 0)
      RegDelete("HKLM\SYSTEM\CurrentControlSet\Control\Session Manager", $sRegTmp)
      RegWrite("HKLM\SYSTEM\CurrentControlSet\Control\Session Manager", "AllowProtectedRenames", "REG_DWORD", 1)

      If $sTFile = "" Then
                $aResult = DllCall("kernel32.dll", "int", "MoveFileEx", "str", $sSFile, "ptr", "", "dword", $iDel)
      Else
                $aResult = DllCall("kernel32.dll", "int", "MoveFileEx", "str", $sSFile, "str", $sTFile, "dword", $iDel)
      EndIf
      If @error OR $aResult = 0 Then
                Return SetError(3, 0, 0)
      Else
                Return 1
      EndIf
EndFunc   ;==>_FileMoveAtReboot
页: [1]
查看完整版本: PendingFileRenameOperations键值应该怎么改?(已解决)