首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > VB >

VB读取内存,高手们来分析一下这样是否科学合理?该如何处理

2012-02-01 
VB读取内存,高手们来分析一下这样是否科学合理?网上很多读取内存的代码,大部分都像下面这样的,但我觉得不

VB读取内存,高手们来分析一下这样是否科学合理?
网上很多读取内存的代码,大部分都像下面这样的,但我觉得不大合理

主要是调用GetMemoryData这个函数,读一次,就要打开进程句柄,然后再关闭一次
OpenProcess
CloseHandle   pHandle
有时候要读几十次,这样就连续的打开关闭很多次,似乎不大合理,不知道我这样的认为是否正确?
我觉得修改成打开一次,然后直到不需要读取,再关闭

Private   Function   GetMemoryData(lpADDress   As   Long)   As   Long
            Dim   hwnd   As   Long
            Dim   pid   As   Long
            Dim   pHandle   As   Long
            hwnd   =   FindWindow(vbNullString,   "欢乐斗地主 ")
            GetWindowThreadProcessId   hwnd,   pid
            pHandle   =   OpenProcess(PROCESS_ALL_ACCESS,   False,   pid)
            ReadProcessMemory   pHandle,   ByVal   lpADDress,   ByVal   VarPtr(GetMemoryData),   2,   0&
            CloseHandle   pHandle
End   Function

[解决办法]
句柄打开关闭的操作时间是可以忽略不计的。
做软件需要注意避免的是资源的占用和浪费,句柄也是资源,所以封装是个好办法,就像数据库连接,是一个道理。

热点排行