delphi 2010 为什么WM_GETTEXT只能取一个字节啊?

kill222 2010-04-27 05:23:41
procedure TForm1.FormCreate(Sender: TObject);
var
arr: array[0..255] of AnsiChar;
begin
form1.Caption:='Form1';
SendMessage(form1.Handle,WM_GETTEXT,255,Integer(@arr));
form1.Caption:=arr;
end;

总是只能取到第一个字节F
...全文
176 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
kill222 2010-04-27
  • 打赏
  • 举报
回复
谢谢,实在是分不清什么时候用Char什么时候用AnsiChar
pathletboy 2010-04-27
  • 打赏
  • 举报
回复
因为你的Form1.Caption是unicode

procedure TForm1.FormCreate(Sender: TObject);
var
arr: array[0..255] of Char;
begin
form1.Caption:='Form1';
SendMessage(form1.Handle,WM_GETTEXT,255,Integer(@arr));
form1.Caption:=arr;
end;

1,183

社区成员

发帖
与我相关
我的任务
社区描述
Delphi Windows SDK/API
社区管理员
  • Windows SDK/API社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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