📄 subject_60544.htm
字号:
<p>
序号:60544 发表者:robslove 发表日期:2003-11-14 02:13:19
<br>主题:怎么用GetWindowText获得另一个应用程序窗口中的文本
<br>内容:找了很多资料都是介绍怎么用来获得窗口标题的<BR>谁能举个获得窗口中文本的例子吗<BR><BR>
<br><a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p>
<hr size=1>
<blockquote><p>
回复者:robslove 回复日期:2003-11-14 02:15:17
<br>内容:纠正一下<BR>好象不能直接用GetWindowText获得<BR>而是发送WM_GETTEXT<BR>该怎么实现呢?
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:小和尚 回复日期:2003-11-14 07:47:32
<br>内容:无论怎么样,首先要获得那个窗口的HWND,<BR>可以用EnumWindows来获取,<BR>再用GetWindowText(hwnd,..........)
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:樂日華 回复日期:2003-11-14 09:41:42
<br>内容:這個道理不寫程式也可以猜測, 你去找個人, 不知道叫什麼, 不知道住那兒, 總要知道一個東西 才有辦法. 對不對. <BR>所以用 自動查詢肯定不可以. spy 那種方式就可以. 需要我們主動去得到.
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:robslove 回复日期:2003-11-14 12:00:41
<br>内容:怎么象看天书<BR>都没实际点的例子可以学吗?
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:robslove 回复日期:2003-11-14 13:11:14
<br>内容:我的理解<BR>大家看下对不对哈<BR><BR>因为初学不久<BR>spy我也没用过<BR>大家看看附件的截图<BR>要抓出窗口中的文体<BR>从spy中查到HWND为0005020A<BR>(问1:这个值每次都不同,不可能每次都去查,该怎么获得?)<BR>又因为看了下面这篇文章<BR>http://www.vckbase.com/vckbase/vckbase11/vc/nonctrls/misc_21/1121001.htm<BR>虽然还不是完全理解<BR>但至少知道了<BR>GetWindowText(hwnd,..........)<BR>在这里是行不通的<BR>(问2:如连接文章所提方法该怎么实现?发送WM_GETTEXT)<BR>(问3:还有别的方法实现吗?
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:robslove 回复日期:2003-11-14 13:12:18
<br>内容:另注<BR>是抓图中的坐标<BR>不是窗口标题
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:小和尚 回复日期:2003-11-14 23:40:02
<br>内容:用spy看,xy1没有子窗口啊!
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:jasic 回复日期:2003-11-16 11:11:50
<br>内容:在98下可以直接发送,但是2000下不行。<BR>建议到codeproject。com上看看。<BR>是关于钩子的问题。<BR>我这里不细讲,你看了就知道了,是关于进程间的几种通讯方式。
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:小和尚 回复日期:2003-11-16 17:19:41
<br>内容:<BLOCKQUOTE>引用“第8楼”所言<BR><Q>在98下可以直接发送,但是2000下不行。 建议到codeproject。com上看看。 是关于钩子的问题。 我这里不细讲,你看了就知道了,是关于进程间的几种通讯方式。</Q></BLOCKQUOTE><BR>不懂什么意思,我也想知道怎么得到坐标!
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
<font color=red>答案被接受</font><br>回复者:红苹果 回复日期:2003-11-16 19:05:33
<br>内容:我说说思路:首先要知道应用程序主窗口的HWND,这用SPY++得到的没有意义,但可以得到它的窗口标题和它的类名(class),我们可以用窗口标题找到这个主窗口。<BR>CWnd::FindWindow 或API的<BR>HWND FindWindow(<BR> LPCTSTR lpClassName, // class name<BR> LPCTSTR lpWindowName // window name<BR>);<BR>都行。<BR>然后就简单了,对于窗口中的control,用SPY++可以显示有controlID的都是控件,可以用<BR>CWnd* GetDlgItem( int nID ) const;或API函数<BR>HWND GetDlgItem(<BR> HWND hDlg, // handle to dialog box<BR> int nIDDlgItem // control identifier<BR>);<BR>得到它的HWND.对于不是控件的子窗口可以用<BR>CWnd* ChildWindowFromPoint( POINT point ) const;或API函数<BR>HWND ChildWindowFromPoint(<BR> HWND hWndParent, // handle to parent window<BR> POINT Point // structure with point coordinates<BR>);<BR>得到它的HWND.<BR>最后,向该窗口发送WM_GETTEXT消息的到文本。<BR><BR>
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -