Private Type LV_ITEMA // LV_ITEMA結構體
(略)
End Type
Private Function GetListViewTextArray(ByVal hWindow As Long, ByVal ProcessID As Long) As String()
Dim (略)
Dim myItem() As LV_ITEMA //定義一個體實體化
pHandle = OpenProcess(PROCESS_VM_OPERATION Or PROCESS_VM_READ Or PROCESS_VM_WRITE, False, ProcessID)
ReDim myItem(hCount) //實體化,在記憶體中分配空間 。hCount是行數
For j = 0 To SendMessage(hWindow, LVM_GETITEMCOUNT, 0, 0) - 1
For i = 0 To hCount
pStrBufferMemory = VirtualAllocEx(pHandle, 0, MAX_LVMSTRING, MEM_COMMIT, PAGE_READWRITE)
myItem(i).mask = LVIF_TEXT
myItem(i).iSubItem = i
myItem(i).pszText = pStrBufferMemory
myItem(i).cchTextMax = MAX_LVMSTRING
pMyItemMemory = VirtualAllocEx(pHandle, 0, Len(myItem(i)), MEM_COMMIT, PAGE_READWRITE)
result = WriteProcessMemory(pHandle, pMyItemMemory, myItem(i), Len(myItem(i)), 0) //問題1:WriteProcessMemory功能是把myItem(i),寫到pMyItemMemory記憶體地址去,那么,myItem(i)里面有“任務管理器的資料嗎?”。如果有,是怎么傳遞到myItem(i)里面的?
(僅僅知道“任務管理器”的listview的執行緒句柄pHandle啊)
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/8911.html
標籤:API
