|
![]() | 作者: f [yifanernei]
![]() |
登录 |
只知道可以用FindWinows() WindowFromPoint() Enumwindow()等得到 在以前的文章里也看到用FindWindow()的例程了,可是是VB下的, 我在VC下为什么不能成功得到QQ的句柄呢?用的是FindWindow(NULL,"QQ用户登录"); 得到句柄后又有什么函数可以得到程序的其它信息,或者大概都能做哪些操作呢? 一直都有看到API调用,可是仔细想想,真的不明白什么叫API调用,VC下的API调用是什么形式呢?是不是::fun();呢? 我想这些问题应该是很简单的(因为我在网上搜了好久了都没找到答案),可是也一定是很多人都不太明白的(因为太基础, 或者说太理论),哪位哥给说明一下? ![]() |
地主 发表时间: 04-10-11 01:25 |
![]() | 回复: 286 [unique] ![]() |
登录 |
http://www.yesky.com/SoftChannel/72342376173010944/20040924/1858273.shtml |
B1层 发表时间: 04-10-11 08:58 |
![]() | 回复: f [yifanernei] ![]() |
登录 |
286老大,我看的就是这一篇,可是在VC下不能找到QQ的句柄呀!!! 谢谢你第一时间的支持!!!! |
B2层 发表时间: 04-10-11 09:11 |
![]() | 回复: 286 [unique] ![]() |
登录 |
不到得到有几种可能。 1 对方的标题看上去是“QQ用户登录”,实际可能是“QQ用户登录 ”(即后面有空格)。 2 对方标题一直变化,或者根本就不是“QQ用户登录”,比如是“OICQ用户登录”。 3 对方对其中标题、输入框等处加了保护。 |
B3层 发表时间: 04-10-11 12:01 |
![]() | 回复: f [yifanernei] ![]() |
登录 |
可能是吧,今天我又在CSDN上看到,大家都说新版的QQ 登录框上的东西是画上去的或是说写上去的 直接是得不到的!!郁闷!!!! 现在我只能用WindowFromPoint()得到句柄,再传给一个 变量,再调用其它的。这样的话,还怎么用timer来监视呢? ![]() ![]() ![]() ![]() ![]() ![]() |
B4层 发表时间: 04-10-11 17:52 |
![]() | 回复: f [yifanernei] ![]() |
登录 |
应该可能用EnumWindow()来找到它吧,只是这个函数要用一个回调函数, 实在是搞不明白该怎么用呀,MSDN上又全是英文,理解不了!!! 思路如下: hwnd = EnumWindow(); pchild = GetWindow(hwnd, GW_CHILD); pstatic = GetWindow(pchild, GW_HWNDNEXT);//通过试验,我已找到第二个 //子窗口是“QQ号码”。然后得到值, //看和“QQ号码”等不等 …… 应该可以的吧!哪位高手具体来讲一下这个函数怎么用呢? ![]() ![]() |
B5层 发表时间: 04-10-12 00:48 |
![]() | 回复: f [yifanernei] ![]() |
登录 |
同志们,当我今天用hwnd = ::Findwindow("#32770",NULL);时, 本以为不一定会找到QQ的,因为这个窗口类的程序应该有好多的 但是我打开了好多程序,又用::SendMessage(hwnd, WM_CLOSE, 0, 0)时 关闭的总是QQ 我想可能是因为QQ的登录窗口设定成最前窗口,而Findwindow()又是沿Z序自上而下找的原因吧 看起来好象是找到QQ的句柄了, 不过照这样理解的话(如果对的话), 也就是说不一定每一次都找得对了!!! 太晚了,要睡了!!!! ![]() ![]() ![]() |
B6层 发表时间: 04-10-12 01:28 |
|
20CN网络安全小组版权所有
Copyright © 2000-2010 20CN Security Group. All Rights Reserved.
论坛程序编写:NetDemon
粤ICP备05087286号