如何取得当前编辑框中的内容?(100分)

  • 主题发起人 主题发起人 冰封
  • 开始时间 开始时间

冰封

Unregistered / Unconfirmed
GUEST, unregistred user!
如何取得当前编辑框中的内容?<br>
 
不明白你的意思
 
你是想保存起来呢,还是想进行剪切拷贝呢?不白。
 
astring:=edit1.text
 
??<br>ShowMessage(Edit1.Text);<br>
 
getwindowtext
 
我的意思是一个监视程序如何得到其他程序输入框,或者编辑框的字符或内容。<br><br>djdsz说的getwindowstext好象不行吧?<br>这个函数好象只能取得窗口内的文字好象没办法取到输入框和编辑矿的内容。
 
谁说不行?
 
好象不行
 
可以参考看密码软件的方法,其实可以使用sendmessage api函数获得编辑框里的值
 
你是不是想得到像什么密码框内的资料等等?
 
var<br>&nbsp; str:string<br>begin<br>&nbsp; if (ActiveControl is TEdit) then<br>&nbsp; &nbsp; str:=(ActiveControl as TEdit).Text;<br>&nbsp; ShowMessage(str);<br>end;<br>&nbsp; &nbsp; &nbsp;
 
edit。text啊!<br><br>能把问题说具体一点嘛?
 
z:array[0..255]of char;<br>使用sendmessage(handle,wm_gettext,interger,longint(@z));<br>edit1.text:=z;
 
我想做到的和密码程序类似,比方说打开我的电脑,当使用者编辑地址栏的时候,<br>获取地址栏那个框中的内容。<br>sendmessage 我试过了,得不到我所需要的结果。<br>大家再帮帮忙,给我个sendmessage的详细例子,顺便告诉我第3,4的参数是做什么用的。<br><br>sytzlh:<br>&nbsp; 你写的“sendmessage(handle,wm_gettext,interger,longint(@z));”第3<br>个参数是不是错了?<br>我改成SendMessage(Handle,wm_gettext,integer(@z),longint(@z)) 对吗?<br>
 
大家帮帮我呀!
 
你可以先取得窗口中EDIT构件的句柄。。然后用SENDMESSAGE,里头的消息为将该EDIT框的<br><br>内容复制到剪贴板,然后在自己的程序中用剪贴板的粘贴令,这个方法应该是可以的<br><br>好久没用罗~~
 
var<br>&nbsp; aa : array[0..constlenth-1]<br>sendmessge(hwnd,wm_gettext,constlenth,integer(@aa))<br>hwnd:使用findwindow、getnextwindow得到<br>第三个参数;表示要取得字符的长度
 
var Name:pchar;<br>&nbsp; l:integer;<br>begin<br>l:=getwindowtextlength(edit1.handle)+1;<br>getmem(name,l);<br>getwindowtext(edit1.handle,name,l);<br>label1.caption:=string(name);<br>freemem(name,0);<br>end;
 
接受答案了.
 
后退
顶部