Использование API функций в SilkTest

Иногда в Silktest возникает необходимость в использовании Windows API. Например когда необходимо получить доступ к директории «Cookies» путь к которой содержит имя пользователя, под которым Вы в данный момент залогинены на компьютере. SilkTest предоставлет нам такую возможность.

Для получения доступа к функциям из внешних DLL, необходимо использовать конструкцию вида:

[-] dll dllName.dll
 [ ] [ReturnType] FuncName ( [ArgList] ) [alias dllFuncName]

где:

dllName.dll — имя библиотеки dll, функции которой предполагаетс использовать.

ReturnType — возвращаемый тип. (Является необязательным параметром)

FuncName — имя импортируемой функции. Может отличаться от имени, которое указано в DLL. Если имя функции указывается другое, то необходимо указать последний параметр alias

ArgList — список принимаемых аргументов. (Является необязательным параметром)

alias dllFuncName — имя функции, как оно указано в DLL. Указывается только в том случае, если имя FuncName отличается от оригинального имени функции.

Пример:

// Импорт функции для получения имени залогиненного в данный момент пользователя.
[-] dll "advapi32.dll"
 [ ] LONG DLL_GetUserName(out STRING lpBuffer, inout LONG nSize) alias "GetUserNameW"

// Использование импортированной функции.
[ ] STRING sUserName // Переменная имени полученного пользователя.
[ ] LONG nSize = 0 // Переменная длинны имени полученного пользователя.
[ ] DLL_GetUserName(sUserName, nSize)

Рейтинг
( Пока оценок нет )
Загрузка ...