【发布时间】:2016-02-17 09:03:45
【问题描述】:
Kernel32.dll 有一个用于文件操作的内部 dll API-MS-WIN-CORE-FILE-L1-1-0.DLL。 dll中可用的FindFirstFile方法,用于查找目录中的文件。 msdn 上 FindFirstFile 的定义 - https://msdn.microsoft.com/en-us/library/windows/desktop/aa364418(v=vs.85).aspx
我想在 QTP/UFT 中使用这种方法来使用 Extern 对象执行文件操作。但是想不出声明和用法。
Extern.Declare returntype, “FindFirstFile”, “Kernel32.dll”, “FindFirstFileA”, micString, secondparameter
不知道在返回类型和第二个参数中提供什么?根据 FindFirstFile 的定义,返回类型是“搜索句柄”,第二个参数是指向 WIN32_FIND_DATA 结构的指针。
声明后如何使用查找文件的方法?
【问题讨论】:
-
谷歌搜索 FindFirstFile Extern Declare 将此问题作为第一个命中,sqaforums.com/forums/… 作为第二个命中,这可能很有用。
-
但是你为什么不使用 FileSystemObject COM 对象来扫描目录呢?见 f.e. msdn.microsoft.com/en-us/library/aa242706%28v=vs.60%29.aspx,用过stackoverflow.com/questions/4200028/… ?
-
您引用的 API 函数的问题是它接收到您必须提供引用(即指针)的信息块(目标缓冲区)。您将很难提供这样的指针,因为 a) VBScript 不知道指针和 b) VBScript 不支持结构,您需要声明和分配块。