NM_DBLCLK消息
来源:互联网 发布:淘宝代购是真的吗 编辑:程序博客网 时间:2024/06/06 15:40
procedure TForm1.ButtonClick(Sender: TObject);
var
H,R,Hproc:HWND;
pnmhdr:TNMItemActivate;
plvitem:Pointer;
pid,temp:DWORD;
begin
H:=FindWindow(nil,'配置发送服务器');
R:=FindWindowEx(H,0,'SysListView32','');
GetWindowThreadProcessId(H,pid);
Hproc:=OpenProcess(PROCESS_ALL_ACCESS,False,pid);
plvitem:=VirtualAllocEx(Hproc,nil,512,MEM_COMMIT,PAGE_READWRITE); //向目标进程分配内存空间;
pnmhdr.iItem:=0;
pnmhdr.iSubItem:=1;
pnmhdr.hdr.hwndFrom:=R;
pnmhdr.hdr.idFrom:=GetDlgCtrlID(R);
pnmhdr.hdr.code:=NM_DBLCLK; //填充结构;
WriteProcessMemory(Hproc,plvitem,@pnmhdr,SizeOf(pnmhdr),temp); //将结构写入目标进程分配内存空间;
PostMessage(H,WM_NOTIFY,pnmhdr.hdr.idFrom,LongInt(plvitem)); //这里要用PostMessage,否则无效;不知道为什么?
Delay(3000); //发送失效,可以尝试迟时几秒钟;
//以下这两句是关键,很多朋友说像这样的发送什么数据结构,跨进程读写内存,到目标进程总是失败的。其实就在这里了。书写顺序不能倒转,否则不成功。
VirtualFreeEx(Hproc,plvitem,0,MEM_RELEASE);
CloseHandle(Hproc);
双击SysListView32 节点:http://bbs.pediy.com/showthread.php?p=765598
- NM_DBLCLK消息
- vs2008中CListCtrl的NM_DBLCLK消息编译错误
- 关于CTreeCtrlr的=NM_DBLCLK、=NM_RCLICK的用法
- 向本进程窗口中的ListView窗口发送NM_DBLCLK通知(SDK代码)
- 向本进程窗口中的ListView窗口发送NM_DBLCLK通知(SDK代码)
- 消息
- 消息
- 消息
- 消息
- 消息
- 消息
- 消息
- 消息
- 消息
- 消息
- 消息
- 消息
- 消息
- http://www.csaiky.com/zt/kydhz/
- TCP 重组数据包分析
- Maven 第二天:关于引入包的问题=from the specified remote repositories
- 门面(Facade)模式
- HTML5-画一个简单五角星
- NM_DBLCLK消息
- C++IE插件开发
- 加快emacs编辑速度
- linux获取进程信息函数
- nand flash从1.8V替换为3.3v
- 报告控制块中 RptEnabled 对于多个客户机的实例化要求
- 将神的恩赐发挥到极致【转自Maling】
- {"Samsung K9F1208U0B",NAND_MFR_SAMSUNG, 0x76, 26, 0, 3, 0x4000, 0}的分析
- CT和MRI的局限性和克服措施