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

继续发帖 同一有关问题 怎么向另一程序的SysListView32发送消息,实现选中特定行(或者项目),比如序号为6的项目

2012-03-01 
继续发帖 同一问题 如何向另一程序的SysListView32发送消息,实现选中特定行(或者项目),比如序号为6的项目

继续发帖 同一问题 如何向另一程序的SysListView32发送消息,实现选中特定行(或者项目),比如序号为6的项目
如何向另一程序的SysListView32发送消息,实现选中特定行(或者项目),比如序号为6的项目
1、现在取得值以及序号已经实现,就是如何选中,不进行操作????
2、选中后鼠标点击??


[解决办法]
http://topic.csdn.net/u/20091021/12/680d7495-dcac-4e11-8446-90c49e41e2b8.html
[解决办法]
Public Sub ListView_ItemSelect(ByVal hWnd As Long, Optional ByVal iItem As Long = 0)
Dim dwProcessId As Long
Dim hProcess As Long
Dim plvItem As Long
Dim LVITEM As LV_ITEMA

GetWindowThreadProcessId hWnd, dwProcessId '获取与指定窗口关联在一起的一个进程和线程标识符
'' hProcess = OpenProcess(PROCESS_ALL_ACCESS, False, dwProcessId) '打开一个现有进程的句柄
hProcess = OpenProcess(PROCESS_VM_OPERATION Or PROCESS_VM_READ Or PROCESS_VM_WRITE, False, dwProcessId)

If hProcess Then
plvItem = VirtualAllocEx(hProcess, ByVal 0, LenB(LVITEM), MEM_COMMIT, PAGE_READWRITE) '分配内存

If plvItem Then
LVITEM.state = LVIS_SELECTED Or LVIS_FOCUSED Or LVIS_ACTIVATING
'lvItem.state = LVIS_SELECTED
LVITEM.stateMask = LVIS_SELECTED
Call WriteProcessMemory(hProcess, ByVal plvItem, LVITEM, LenB(LVITEM), 0) '写入内存
Dim t As Long
t = SendMessage(hWnd, LVM_SETITEMSTATE, iItem, ByVal plvItem)
'' MsgBox t
Call VirtualFreeEx(hProcess, ByVal plvItem, 0, MEM_RELEASE)
End If
Call CloseHandle(hProcess)
End If
End Sub

热点排行