使用Extern.Declare调用ReplaceFile Winapi

时间:2016-06-02 10:16:47

标签: winapi vbscript hp-uft kernel32

更新这仍未解决,我仍在寻找解决方案。

我正在尝试从UFT调用ReplaceFile API。

这是我的剧本:

Option Explicit

Private Const REPLACEFILE_WRITE_THROUGH=1
Private Const REPLACEFILE_IGNORE_MERGE_ERRORS=2
Private Const REPLACEFILE_IGNORE_ACL_ERRORS=4

Extern.Declare micInteger, "ReplaceFile", "Kernel32.dll", "ReplaceFileA", micString, micString, micString, micDWord, micLong, micLong
Dim lpReplacedFileName: lpReplacedFileName="C:\TEMP\T\alt.dat"
Dim lpReplacementFileName: lpReplacementFileName="C:\TEMP\T\neu.dat"
Dim lpBackupFileName: lpBackupFileName="C:\TEMP\T\bak.dat"
Dim dwReplaceFlags: dwReplaceFlags=REPLACEFILE_WRITE_THROUGH
Dim lpExclude: lpExclude=NULL
Dim lpReserved: lpReserved=NULL


Dim Result:
Result=Extern.ReplaceFile (lpReplacedFileName, lpReplacementFileName, lpBackupFileName, 0, lpExclude, lpReserved)
MsgBox GetLastError ()

如果我现在在c:\ temp中创建文件alt.dat,则在脚本运行时不会将其重命名为neu.dat。结果为0,GetLastError返回0,这可能意味着:未调用API函数,并且Extern.Declare没有告诉我我做错了什么。

那我该怎么办?

0 个答案:

没有答案