--------------------------------------------------------------------------------------------------------------------------------------------------------
VB實現(xiàn)指針訪問!DLL的訪問
--------------------------------------------------------------------------------------------------------------------------------------------------------
CopyMemory函數(shù)提供了一個簡單的方法來執(zhí)行C 中見解訪問運算符(*),這個運算符可以訪問被一個指針變量所指向的變量的值。
即如有指針變量P,在C 中可以簡單的用*P來訪問,那在VB中怎么訪問呢?
在VB中,我們可以使用CopyMemory函數(shù)別名。
DeclareSubVBGetTargetLb"kernel32"Alias"RtlMoveMemory"(TargetAsAny,ByVallPointAsLong,ByValcbCopyAsLong)
例子:
DimPointerAsLong
DimTargetAsInteger
DimiAsInteger
i=123
Pointer=VarPtr(i)'獲得指針
VBGetTargetTarget,Pointer,LenB(Target)
Debug.
如果直接運行你的VB程序,系統(tǒng)會提示錯誤:找不到../dubug/testDLL.dll.
為了使上面的聲明其作用,先暫時關閉你的VB工程。然后用一個文本編輯器(notepad,editplus,etc)打開工程文件(就是那個后綴是vbp的家伙),通常vbp文件由幾個部分組成。
新聞熱點
疑難解答