Как читать значения памяти, используя VBScript? - PullRequest
3 голосов
/ 21 декабря 2010

Я хочу использовать VBScript для чтения значений непосредственно из памяти другого работающего приложения.
Не получается найти информацию об использовании ReadProcessMemory() в VBScript.

Я собираюсь использовать этов Quick Test Pro, чтобы сделать очистку экрана приложения, которое требует тестирования.Это приложение не использует никаких стандартных элементов управления, а использование возможностей OTP в QTP не дает нам надежных результатов.

В настоящее время у нас есть код, написанный на AutoIT, который считывает значения этого приложения непосредственно из памяти и преобразует его в ASCII.Но мы хотим убрать зависимость от этого, и использование VBScript изнутри QTP было бы идеальным.

Так может кто-нибудь сказать мне, как я могу читать значения из исполняемого файла в памяти, используя VBScript?

1 Ответ

4 голосов
/ 21 декабря 2010

Вы не можете сделать это напрямую в VBScript. Как упоминалось выше в комментарии Джоша Эйнштейна, невозможно вызывать собственные функции Windows API напрямую из VBScript.Есть две основные причины, почему это так.Во-первых, это может создать очевидные угрозы безопасности для кода, написанного на таком языке сценариев, чтобы можно было напрямую вызывать нативный код.Во-вторых, VBScript имеет только один тип данных (Variant), который не будет работать должным образом с возвращаемыми значениями большинства функций API Windows.

Вместо этого вам придетсяоберните необходимые функции API в DLL ActiveX (объект автоматизации COM), , а затем вызовите функции из этой библиотеки из вашего VBScript. DLL-оболочка будет разработана специально для взаимодействия с VBScript ипозаботится о любых необходимых преобразованиях типов данных, предоставляя только типы Variant и содержащие все необходимые (или потенциально необходимые!) процедуры обработки ошибок.Использование VB 6 - это самый быстрый и простой способ сделать это, и вам даже не требуется изучать новый язык, но вы также можете делать это на C ++, если вам удобно.

...