急求:ListView_GetColumn获取不到text

btman52 2014-05-19 11:52:28
ListView_GetColumn获取不到text,hwnd没问题,使用ListView_GetItemCount等都正常。
代码:

LVCOLUMN col;
ZeroMemory(&col,sizeof(col));
char *txt=new char[64];
col.mask = LVCF_TEXT;
col.pszText=txt;
col.cchTextMax=64;
if(ListView_GetColumn(hwnd,0,&col))
{
printf("%s\r\n",col.pszText);//这里获取不到东西,txt如果设置为一串a,返回依旧是一串a
}

文本长度只有5,不存在超长的问题。
...全文
159 5 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
schlafenhamster 2014-05-19
  • 打赏
  • 举报
回复
typedef struct _LVCOLUMN { UINT mask; //说明此结构中哪些成员是有效的 int fmt; //列的对齐方式 int cx; //列的初始宽度 LPTSTR pszText; //列的标题 int cchTextMax; //pszText所指向的缓冲区的大小 int iSubItem; //与列关联的子项的索引值,从0开始 int iImage; //与列关联的图像列表中指定图像的索引值 int iOrder; //第几列,0代表最左一列 } LVCOLUMN, FAR *LPLVCOLUMN;
btman52 2014-05-19
  • 打赏
  • 举报
回复
引用 3 楼 schlafenhamster 的回复:
有没有 初始化?
已解决,获取其他进程的listview信息需要WriteProcessMemory 还是非常感谢解答
btman52 2014-05-19
  • 打赏
  • 举报
回复
引用 3 楼 schlafenhamster 的回复:
有没有 初始化?
初始化了,ZeroMemory(&col,sizeof(col));
schlafenhamster 2014-05-19
  • 打赏
  • 举报
回复
有没有 初始化?
btman52 2014-05-19
  • 打赏
  • 举报
回复
引用 1 楼 schlafenhamster 的回复:
typedef struct _LVCOLUMN { UINT mask; //说明此结构中哪些成员是有效的 int fmt; //列的对齐方式 int cx; //列的初始宽度 LPTSTR pszText; //列的标题 int cchTextMax; //pszText所指向的缓冲区的大小 int iSubItem; //与列关联的子项的索引值,从0开始 int iImage; //与列关联的图像列表中指定图像的索引值 int iOrder; //第几列,0代表最左一列 } LVCOLUMN, FAR *LPLVCOLUMN;
] 依旧不行,修改后的代码如下

	LVCOLUMN col;
			ZeroMemory(&col,sizeof(col));  
			char *txt=new char[64];
			col.mask = LVCF_TEXT|LVCF_SUBITEM;
			col.pszText=txt;
			col.cchTextMax=64;
			col.iSubItem=0;
			if(ListView_GetColumn(hwnd,0,&col))
			{
				printf("%s\r\n",col.pszText);
			}
vc6获取不到,vs2010把目标程序崩溃掉,错误信息是 MainForm.exe 中的 0x73f5fa8d (comctl32.dll) 处有未经处理的异常: 0xC0000005: 读取位置 0x0024f950 时发生访问冲突

15,980

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 界面
社区管理员
  • 界面
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧