Собственно хочу поюзать: WpeSpy.dll
В DLL'ке есть функция setfilter, в неё передаются 6 параметров:
- Код: Выделить всё
1. Pointer Paramter0: 0 (0x0)
2. Pointer Paramter1: 4918724 (0x4B0DC4)
3. Pointer Paramter2: 4919224 (0x4B0FB8)
4. Pointer Paramter3: 4919724 (0x4B11AC)
5. Pointer Paramter4: 4920724 (0x4B1594)
6. Pointer Paramter5: 4294901765 (0xFFFF0005)
1: параметр id фильтра (1 байт)
2-5: адресса массивов (4 байта, >> массивы по 500 байт)
6: флаг (8 байт)
Думаю моя проблема заключается в том, что я не могу в 2-5 параметры правильно передать адреса своих массивов..
- Код: Выделить всё
Option Explicit
Private Declare Function SetFilter Lib "wpespy" (q1 As Byte, q2 As Long, q3 As Long, q4 As Long, q5 As Long, q6 As Double) As Long
Function Main()
Dim w1(0 To 499) As Byte
Dim w2(0 To 499) As Byte
Dim w3(0 To 499) As Byte
Dim w4(0 To 499) As Byte
Dim x As Long
x = SetFilter(0, VarPtr(w1(0)), VarPtr(w2(0)), VarPtr(w3(0)), VarPtr(w4(0)), &HFFFF0005)
End Function
Получаю ошибку: "Инструкция по адресу '0x10001071' обратилась к памяти по адресу '0x35073d00'. Память не может быть 'written'."
Не бейте если что не так делаю , я новичек в vb. Заранее спасибо.