1

Тема: JScript: Чтение памяти процесса

Здравствуйте.
Не получается выполнить чтение памяти процесса.
Использую такой код:

var WshShell = WScript.CreateObject("WScript.Shell");
var strComputer = ".";
var myprocessid;
var objWMIService = GetObject("winmgmts:\\\\" + strComputer + "\\root\\CIMV2");
var colItems = objWMIService.ExecQuery("SELECT * FROM Win32_Process");
var enumItems = new Enumerator(colItems);

for (; !enumItems.atEnd(); enumItems.moveNext()) {
    var objItem = enumItems.item();
    if (objItem.name == "opera.exe") {
         myprocessid = objItem.ProcessID;
    }
}
var buffer;
ReadProcessMemory(myprocessid, 0, buffer, 4, 0);

Подскажите пожалуйста, что я делаю не так в последней строке кода?

2

Re: JScript: Чтение памяти процесса

Вы пытаетесь вызвать функцию «ReadProcessMemory()», которой в скрипте нет.

3 (изменено: ksa791, 2011-03-17 22:21:21)

Re: JScript: Чтение памяти процесса

Спасибо исправил строку, теперь

var ReadProcessMemory(myprocessid, 0, buffer, 4, 0);

Всё равно не работает.
Я про ReadProcessMemory прочел здесь: ReadProcessMemory Function (Windows) и подумал, что её можно использовать в jscript.

Или я синтаксис неправильно выполнил?

4

Re: JScript: Чтение памяти процесса

Использовать её можно, только сделав оболочку из COM объекта. К сожалению обычный jscript, равно как и vbscript не даст Вам таких возможностей.

P.S Да. ) Мне тоже всегда было обидно, что Майкрософт ограничивает полёт моей фантазии. Но иногда так хочется помечтать.

Передумал переделывать мир. Пашет и так, ну и ладно. Сделаю лучше свой !

5

Re: JScript: Чтение памяти процесса

Спасибо.

6

Re: JScript: Чтение памяти процесса

ksa791, ни VBScript, ни JScript не умеют работать с WinAPI. Однако, есть способ попробовать научить их этому:
Библиотека dynwrapx.dll и вызов функций Win 32 API
JScript/VBScript & Win32 API: DynamicWrapperX

Ссылки оформляем тэгом «url». Я поправил Ваш предыдущий пост.