PDA

View Full Version : چجوری آیتمهای یک ListView رو انتخاب کنیم؟



mohsen57
سه شنبه 06 اسفند 1387, 04:37 صبح
من اگه هندل یک ListView رو داشته باشم چجوری میتونم با api همه آیتمهای آن را Select کنم؟
آقا احسان شما واردی:قلب: لطفا همراه با کد راهنمایی کنید:خجالت:

r0ot$harp
سه شنبه 06 اسفند 1387, 15:18 عصر
من اگه هندل یک ListView رو داشته باشم چجوری میتونم با api همه آیتمهای آن را Select کنم؟
آقا احسان شما واردی:قلب: لطفا همراه با کد راهنمایی کنید:خجالت:

دوست عزیز نمی خواستم این کد رو در انجمن قرار دهم . ولی به یه نتیجه ای رسیدم که ...



Public Sub SelectItemRemote(ByVal hLV As Long, ByVal itmNum As Long)

Dim tid As Long, pid As Long, hProcess As Long

Dim liAddr As Long, lWritten As Long

Dim li As LV_ITEM

tid = GetWindowThreadProcessId(hLV, pid)

If pid = 0 Then Exit Sub
hProcess = OpenProcess(PROCESS_ALL_ACCESS, False, pid)

If hProcess = 0 Then Exit Sub

With li
.mask = LVIF_STATE
.state = True
.stateMask = LVIS_SELECTED Or LVIS_FOCUSED
End With

liAddr = VirtualAllocEx(hProcess, 0, Len(li), MEM_RESERVE Or MEM_COMMIT, PAGE_READWRITE)
WriteProcessMemory hProcess, ByVal liAddr, li, Len(li), lWritten
Call SendMessage(hLV, LVM_SETITEMSTATE, itmNum, ByVal liAddr)
VirtualFreeEx hProcess, ByVal liAddr, 0, MEM_RELEASE

If hProcess Then CloseHandle hProcess
End Sub


باتشکر احسان