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

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