试图获取别的程序的edit内容,代码如下:
var
p:char;
begin
sendmessage(123456,wm_gettext,255,p);//123456为edit句柄
showmessage(strpas(p));
end使用单步调试,确实能看到p获取了edit的内容,但是执行showmessage却出现问题。
请问高手们,这是什么问题。
另如果使用postmessage()函数怎么获得的P的内容不一样???
var
p:char;
begin
sendmessage(123456,wm_gettext,255,p);//123456为edit句柄
showmessage(strpas(p));
end使用单步调试,确实能看到p获取了edit的内容,但是执行showmessage却出现问题。
请问高手们,这是什么问题。
另如果使用postmessage()函数怎么获得的P的内容不一样???
p : array[0..MAXBYTE - 1] of char;
begin
sendmessage(handle, WM_GetText, MAXBYTE, p);
showmessage(strpas(p));
end;
var
p:pchar;
如果postmessage的话因为不等结果返回,所以当程序执行下一句的时候发出的消息可能还没得到处理,使得结果异常。postmessage之后加一句Application.ProcessMessages;就可以