用delphi如何取得句柄为a的richedit里的文字,系统为XP+9X(20分)

  • 主题发起人 主题发起人 sy0116
  • 开始时间 开始时间
S

sy0116

Unregistered / Unconfirmed
GUEST, unregistred user!
用delphi如何取得句柄为a的richedit里的文字,系统为XP+9X<br>
 
什么意思?请说清楚一点了。
 
某程序中有一个RICHEDIT,里面有一些文字,RICHEDIT的句柄为a,问如何取得文字
 
首先通过Spy++等工具得到其窗口句柄,然后再找到该RichEdit的Handle,最后通过GetWindowText就OK了[:)]<br><br>&nbsp;函数功能:该函数将指定窗口的标题条文本(如果存在)拷贝到一个缓存区内。如果指定的窗口是一个控制,则拷贝控制的文本。但是,GetWindowTeXt不能接收在其他应用程序中的控制文本。<br><br>&nbsp; &nbsp; 函数原型:Int GetWindowText(HWND hWnd,LPTSTR lpString,Int nMaxCount);<br><br>&nbsp; &nbsp; 参数:<br><br>&nbsp; &nbsp; hWnd:带文本的窗口或控制的句柄。<br><br>&nbsp; &nbsp; IpString:指向接收文本的缓冲区的指针。<br><br>&nbsp; &nbsp; nMaxCount:指定要保存在缓冲区内的字符的最大个数,其中包含NULL字符。如果文本超过界限,它就被截断。<br><br>&nbsp; &nbsp; 返回值:如果函数成功,返回值是拷贝的字符串的字符个数,不包括中断的空字符;如果窗口无标题栏或文本,或标题栏为空,或窗口或控制的句柄无效,则返回值为零。若想获得更多错误信息,请调用GetLastError函数。<br>
 
var<br>&nbsp; buffer:array[0..128] of char;<br>begin<br>sendmessage(a,wm_gettext,128,integer(@buffer));<br>showmessage(buffer);
 
来晚了,<br>同意hygsxy的做法
 
var<br>&nbsp; buffer:array[0..128] of char;<br>begin<br>GetWindowText(Memo1.Handle,@buffer,129);<br>showmessage(buffer);<br>end;
 

Similar threads

后退
顶部