如何得到当前窗口中光标所在edit的ID或句柄 ( 积分: 100 )

  • 主题发起人 主题发起人 lingguang8888
  • 开始时间 开始时间
L

lingguang8888

Unregistered / Unconfirmed
GUEST, unregistred user!
请高手指点:<br>用一个程序向当前窗口上光标所在的edit中写数据,应如何处理.<br>获得当前窗口的名柄后如何能获得当前光标所在的edit呢?<br>谢谢!在线.如有没说明之处,请指出.
 
var<br>&nbsp;&nbsp;h&nbsp;:&nbsp;hwnd;<br>&nbsp;&nbsp;idself&nbsp;&nbsp;:&nbsp;hwnd;<br>&nbsp;&nbsp;idactive&nbsp;&nbsp;:&nbsp;hwnd;<br>begin<br>&nbsp;&nbsp;h&nbsp;:=&nbsp;&nbsp;GetForeGroundWindow;<br>&nbsp;&nbsp;idself&nbsp;&nbsp;:=&nbsp;&nbsp;GetWindowThreadProcessID(Handle);<br>&nbsp;&nbsp;idactive&nbsp;&nbsp;:=&nbsp;&nbsp;GetWindowThreadProcessID(h);<br>&nbsp;&nbsp;if&nbsp;h&nbsp;&gt;&nbsp;0&nbsp;then<br>&nbsp;&nbsp;begin<br>&nbsp;&nbsp;&nbsp;&nbsp;AttachThreadInput(idactive,&nbsp;idself,&nbsp;True);<br>&nbsp;&nbsp;&nbsp;&nbsp;h&nbsp;:=&nbsp;&nbsp;GetFocus;<br>&nbsp;&nbsp;&nbsp;&nbsp;Caption&nbsp;:=&nbsp;&nbsp;IntToStr(h);&nbsp;//这里的h就是焦点所在控件的句柄<br>&nbsp;&nbsp;&nbsp;&nbsp;AttachThreadInput(idactive,&nbsp;idself,&nbsp;False);<br>&nbsp;&nbsp;end;<br>end;
 
沙发啊,第一次
 
什么意思,canvate,我在试程序,先谢谢ysai,我现在只在一个窗口中试,button启动后edit1-&gt;setfocus&nbsp;,为什么得到的当前交点不是edit1的
 
Edit1-&gt;SetFocus();<br><br>&nbsp;&nbsp;&nbsp;&nbsp;Application-&gt;ProcessMessages();<br><br>&nbsp;&nbsp;&nbsp;&nbsp;hWnd&nbsp;=&nbsp;GetForegroundWindow();&nbsp;//&nbsp;得到当前窗口&nbsp;,//&nbsp;不需要程序本身的窗口<br>&nbsp;&nbsp;&nbsp;&nbsp;//&amp;idself&nbsp;=<br>&nbsp;&nbsp;&nbsp;&nbsp;GetWindowThreadProcessId(Form1-&gt;Handle,&amp;selfProcess);<br>&nbsp;&nbsp;&nbsp;&nbsp;//idactive&nbsp;&nbsp;=<br>&nbsp;&nbsp;&nbsp;&nbsp;GetWindowThreadProcessId(hWnd,&amp;activeProcess);<br><br>&nbsp;&nbsp;&nbsp;&nbsp;if(&nbsp;hWnd&nbsp;&gt;&nbsp;0&nbsp;)<br>&nbsp;&nbsp;&nbsp;&nbsp;{<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;AttachThreadInput(activeProcess,&nbsp;selfProcess&nbsp;,&nbsp;True);<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;hWndEdit&nbsp;=&nbsp;&nbsp;GetFocus;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if(&nbsp;Edit1-&gt;Handle&nbsp;&nbsp;==&nbsp;hWndEdit&nbsp;)<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//Caption&nbsp;:=&nbsp;&nbsp;IntToStr(hWnd);&nbsp;//这里的h就是焦点所在控件的句柄<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;SetWindowText(hWndEdit,&quot;ok&quot;);<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;AttachThreadInput(activeProcess,&nbsp;selfProcess&nbsp;,&nbsp;False);<br>&nbsp;&nbsp;&nbsp;&nbsp;}<br><br>&nbsp;&nbsp;&nbsp;&nbsp;Timer1-&gt;Enabled&nbsp;=&nbsp;false;
 
接受答案了.
 
后退
顶部