1,字符串缓冲区的作用不同:前者pItem用来接收ITEMTEXT,我们可以通过ReadProcessMemory函数来读取其内容;而在本篇中p_MyItemText则用来存放我们要设置的ITEMTEXT,并用WriteProcessMemory函数将其写入到目标程序中。

二:源代码:

//

/*
* Send LVM_SETITEMTEXT
* 版权所有 (C) 2005 天津 赵春生
* 2005.10.28
* http://timw.yeah.net
* http://timw.126.com
* 本程序适用于:Win2KP+SP4[Windows TaskManager(5.0.2195.6620)]
* WinXP+SP1[Windows TaskManager]
* 代码在Win2000P+SP4 + VC6+SP6测试通过
*/

#include<windows.h>
#include<commctrl.h>

int APIENTRY WinMain(HINSTANCE hInstance,
HINSTANCE hPrevInstance,
LPSTR lpCmdLine,
int nCmdShow)

{

HWND hwnd;
int iItem=0;
LVITEM lvitem, *plvitem;
DWORD PID;
HANDLE hProcess;
char *p_MyItemText;//目标程序中用来存放TEXT的地址

//The pszText member is the pointer to a null-terminated
// string containing the new text; it can also be NULL.
//以上信息是从API手册中获得的,故在本例中字符串长度不能>=12,
//以确保字符串后有NULL。
char str_MyItemText[12]={0};
strcpy(str_MyItemText,"天津 赵春生");

hwnd=FindWindow("#32770","Windows 任务管理器");
hwnd=FindWindowEx(hwnd,0,"#32770",0);
hwnd=FindWindowEx(hwnd,0,"SysListView32",0);

if (!hwnd)

MessageBox(NULL,"[Windows 任务管理器] 尚未启动!","错误!",NULL);

else
{

GetWindowThreadProcessId(hwnd, &PID);

hProcess=OpenProcess(PROCESS_ALL_ACCESS,false,PID);
if (!hProcess)

MessageBox(NULL,"获取进程句柄操作失败!","错误!",NULL);

else
{
plvitem=(LVITEM*)VirtualAllocEx(hProcess, NULL, sizeof(LVITEM), MEM_COMMIT, PAGE_READWRITE);
p_MyItemText=(char*)VirtualAllocEx(hProcess, NULL, 12, MEM_COMMIT, PAGE_READWRITE);

if ((!plvitem)||(!p_MyItemText))

MessageBox(NULL,"无法分配内存!","错误!",NULL);

else
{
MessageBox(NULL,"本演示程序将更改TaskManager中第6个项目中第1列的内容。","提示",NULL);

iItem=5;//5在这里是第六个(从零开始)
lvitem.iSubItem=0;//同上
lvitem.pszText=p_MyItemText;

WriteProcessMemory(hProcess, p_MyItemText, &str_MyItemText, 12, NULL);
WriteProcessMemory(hProcess, plvitem, &lvitem, sizeof(LVITEM), NULL);

//向目标程序发送LVM_SETITEMTEXT消息
SendMessage(hwnd, LVM_SETITEMTEXT, (WPARAM)iItem, (LPARAM)plvitem);

}
}
}

//释放内存
CloseHandle(hwnd);
CloseHandle(hProcess);
VirtualFreeEx(hProcess, plvitem, 0, MEM_RELEASE);
VirtualFreeEx(hProcess, p_MyItemText, 0, MEM_RELEASE);

return 0;
}

《如何更改其他程序ListView控件中某个Item的内容》 -- 天津 赵春生相关推荐

  1. 《如何更改其他程序ListView控件中某个Item的内容》

    <如何更改其他程序ListView控件中某个Item的内容> 天津 赵春生 ××× 一:程序说明: 这次我将介绍如何更改其他程序ListView控件中某个Item的内容,关于类似的拙文我已 ...

  2. VB.net实现从ListView控件中异地获取文本内容源代码

    对于一些VB6工程代码来说,需要完成从VB到VB.net的转换,在转换过程中需要注意很多内容,利用VB.net的直接转换功能很少能完全成功,需要我们付出很大的努力. 下面的VB.net代码实现从其他应 ...

  3. 在ListView控件中绘底图

    ListView控件是Windows程序开发中的常用控件, 利用它可以把需要用户进行选择操作的多个项目在窗口中以列表的方式显示, 每一个项目可以有它的小图标和大图标, 从而可以改善程序的用户界面, 方 ...

  4. 如何:在 Windows 窗体 ListView 控件中启用平铺视图 【转载】

    本文转载自http://msdn.microsoft.com/zh-cn/library/s8z85th0(VS.80).aspx 借助于 ListView 控件的平铺视图功能,可以在图形信息和文本信 ...

  5. ListView控件获取选中项的内容 c# 114867417

    ListView控件获取选中项的内容 c# 114867417 引入控件 定义列 基本功能 整行选中 打开整行选中 true 获取选中项的数据

  6. listview显示mysql数据_C#在listview控件中显示数据库数据

    一.了解listview控件的属性 view:设置为details columns:设置列 items:设置行 1.将listview的view设置为details 2.设置列属性 点击添加,添加一列 ...

  7. 如何设置ListView控件中的列头的颜色!

    ListView默认的列头的背景太单调,缺乏个性,想变的列头的背景色! 实际上可以使用ListViewDrawColumnHeader事件自己画背景色,注意仅当 OwnerDraw 属性设置为 tru ...

  8. 如何判断ListView中的CheckItem项是否选中?并将所以选项从ListView控件中删除?

    设置ListViw带有CheckBox foreach (ListViewItem temp_LVI in this.ListView1.CheckedItems)//用foreach()函数遍历{t ...

  9. vb html listview,VB中listview控件

    控件 listview控件可有4种不同的视图显示方法,跟"资源管理器"里的"查看"方式相似:(1)无图标:(2)小图标:(3)列表:(4)报表式. 使用哪种视图 ...

最新文章

  1. yum update 正在尝试其他镜像
  2. 基础SQL面试题(1)
  3. 伪mac android,Mac,android sdk,monkey压力测试,真机
  4. 计算机发展与应用,网络计算机的发展与应用
  5. 计算机等级delphi取消,计算机二级DELPHI控件:DELPHI过滤记录的实现方法
  6. 前端学习(2117):为什么组件data必须是函数
  7. 哪个类型的B端产品经理有前景?
  8. 软件的艺术之美源于权衡(Trade-off)
  9. python 工程结构加固_[原创]某企业级加固[四代壳]VMP解释执行+指令还原
  10. mysql connector 是什么_mysql的connector/J,和JDBC是啥关系?有啥区别?
  11. 获得PMP认证的过程及心路历程
  12. ROS main函数中订阅器的编写
  13. java爬虫模拟登陆_java爬虫模拟登陆的实例详解
  14. 仓库管理数据库系统设计
  15. poj 1840(数的hah)
  16. php多虚拟主机配置
  17. Volkswagen profit roars back two yea iot L?sungen rs after 'dieselgate'
  18. (字符串分解器)StringTokenizer类的使用_无名小仙男
  19. 李一男离开华为时的忠告
  20. linux俄罗斯方块源程序,C++实现俄罗斯方块(linux版本).pdf

热门文章

  1. 科研呢喃3-论科研选题
  2. ALLyeSNO优化版浩方 Ver:2007.06.13 呵呵今天整合出来的
  3. 「服务端」阿里云https如何免费申请
  4. P2P、P2C 、O2O 、B2C、B2B、 C2C 理解后可以老板吹水了...
  5. 道歉顶用?Facebook水逆不断
  6. 刘洋 清华大学计算机,刘 洋-清华大学化学系
  7. 点云,联合标定与信息融合
  8. xampp安装包(百度云)
  9. Altium Designer 19 生成钢网文件
  10. 爱上我的“手机女友”( 教你全面认识智能手机)