请帮忙看看问题在那里 ( 积分: 40 )

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

lingguang8888

Unregistered / Unconfirmed
GUEST, unregistred user!
hWnd&nbsp;=&nbsp;GetForegroundWindow();<br>&nbsp;&nbsp;&nbsp;&nbsp;GetWindowThreadProcessId(Form1-&gt;Handle,&amp;selfProcess);<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;GetFocus();<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;SetWindowText(hWndEdit,&quot;ok&quot;);<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;SendMessage(hWnd,&nbsp;WM_NEXTDLGCTL,&nbsp;0,&nbsp;0);<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;AttachThreadInput(activeProcess,&nbsp;selfProcess&nbsp;,&nbsp;False);<br>&nbsp;&nbsp;&nbsp;&nbsp;}<br>当前窗口是自身时可用,付值正常,<br>在当前窗口是其它进程窗口时,不付值,我想是获得当前edit句柄错误<br>没分了,请帮忙,谢谢
 
我觉得你必须使用hook&nbsp;才能达到你的要求
 
解决了,如下:<br>&nbsp;hWnd&nbsp;=&nbsp;GetForegroundWindow();<br>&nbsp;&nbsp;&nbsp;&nbsp;selfThread&nbsp;=&nbsp;GetWindowThreadProcessId(Form1-&gt;Handle,&amp;selfProcess);<br>&nbsp;&nbsp;&nbsp;&nbsp;activeThread&nbsp;=&nbsp;GetWindowThreadProcessId(hWnd,&amp;activeProcess);<br><br>&nbsp;&nbsp;&nbsp;&nbsp;if(&nbsp;hWnd&nbsp;&gt;&nbsp;0&nbsp;)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//&amp;&amp;&nbsp;hWnd!=Form1-&gt;Handle<br>&nbsp;&nbsp;&nbsp;&nbsp;{<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;AttachThreadInput(&nbsp;selfThread&nbsp;,&nbsp;activeThread&nbsp;,&nbsp;True);<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;hWndEdit&nbsp;=&nbsp;GetFocus();<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;SendMessage(Edit1-&gt;Handle&nbsp;,&nbsp;WM_COPY,&nbsp;0,&nbsp;0);<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;SendMessage(hWndEdit,&nbsp;WM_PASTE,&nbsp;0,&nbsp;0);<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;SendMessage(hWnd,&nbsp;WM_NEXTDLGCTL,&nbsp;0,&nbsp;0);<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;AttachThreadInput(&nbsp;selfThread&nbsp;,activeThread&nbsp;,&nbsp;False);<br>&nbsp;&nbsp;&nbsp;&nbsp;}
 
后退
顶部