有关窗口的API

近几天被自动发QQ消息弄得非常郁闷,基本把所有窗口API都使用了一遍,记录下~
QQ窗体都是自己画出的,使用API也有很大差异,需要一个个测试,最终终于实现,主要思路就是
1.遍历类名为“TXGuiFoundation”的窗口句柄,获取句柄的窗口标题,过滤出聊天框句柄
2.选择发送QQ,获取该标题窗口句柄,激活,置为前台窗口,sendmessage发送消息

(一)findwindow——需找指定的窗口句柄 (顶级的窗口句柄,子窗口应该不支持)
(二)findwindowex——根据父窗口等信息查找它的子窗口
(三)getwindowtext——取得窗口的标题
(四)FlashWindow——闪烁窗口
(五)GetActiveWindow——获得活动中的窗口句柄
(六)GetCapture——获得当前输入线程的窗口句柄,此句柄拥有鼠标捕获
(七)GetClassName——获取目标句柄的类名
(八)GetClientRect——获得目标窗口的客户区大小(按键不能用)
(八)getfocus——获得拥有输入焦点的窗口的句柄
(九)GetForegroundWindow ——获得前台窗口的句柄。这里的“前台窗口”是指前台应用程序的活动窗口
(十)GetParent ——获得指定窗口的父句柄
(十一) GetTopWindow——寻找指定窗口的第一个子窗口
(十三)ischiled——判断两个窗口是否为父子关系
(十四)isiconic——判断窗口是否已经最小化
(十五)iswindow——判断窗口句柄是否还有效
(十七)iswindowenabled——判断窗口是否处于活动状态
(十八)IsWindowVisible——判断窗口是否可见
(十九)IsZoomed——判断窗口是否最大化
(二十)MoveWindow——改变指定窗口的位置和大小
(二十一)OpenIcon——还原一个最小化的窗口,并且将其激活
(二十二)setactivewindow——激活指定窗口
(二十三)setcapture——设置鼠标捕获(很有意思的东西)
(二十四)setfocusapi——将输入焦点设置到指定的窗口
(二十五)SetForegroundWindow ——将窗口设为系统的前台窗口
(二十六)setparent——把一个子窗口移动到另一个父窗口中(更有很有意思的函数,还能顺便找到他的父窗口句柄)
(二十七)SetWindowText ——设置窗口的标题

ShowWindow
函数功能:该函数设置指定窗口的显示状态。
函数原型:BOOL ShowWindow(HWND hWnd, int nCmdShow)
nCmdShow 参数
sw_hide 0 隐藏窗口,激活另一个窗口
sw_shownormal 1 激活并显示指定窗口,如果该窗口被最大化或最小化,将还原其原本的大小和位置。
sw_showminimized 2 激活并最小化指定窗口
sw_showmaximized 3 激活并最大化指定窗口
sw_maximize 3 将指定的窗口最大化
sw_showminnoactive 4 以最小化方式显示指定窗口,当窗口保持激活
sw_show 5 以当前位置和大小激活窗口
sw_minimize 6 将指定的窗口最小化
sw_shownoactivate 7 以其最近的大小和位置显示指定窗口,当前窗口保持激活
sw_showna 8 以当前状态显示指定窗口,当前窗口保持激活
sw_restore 9 还原指定的窗口
sw_showdefault 10 以传递到createprocess函数中的startupinfo记录中指定的sw_flag方式显示窗口
SW_FORCEMINIMIZE 11 在WindowNT5.0中最小化窗口,即使拥有窗口的线程被挂起也会最小化。在从其他线程最小化窗口时才使用这个参数。

  1. 暂无评论

return top