MFC获取QQ对话框窗口抖动按钮图标的位置?

想模拟一个定时抖动窗口的按键输入对象窗口名称定时点击抖动图标……... 想模拟一个定时抖动窗口的按键
输入对象窗口名称定时点击抖动图标……
展开
 我来答
xu19951930
2014-01-24 · TA获得超过294个赞
知道小有建树答主
回答量:163
采纳率:0%
帮助的人:166万
展开全部
	HWND hWnd = ::FindWindow(NULL, _T("***"));//***表示QQ昵称或者是备注名称
if (hWnd)
{
//如果找到窗口,模拟点击抖动按钮
SendMessage(hWnd, WM_LBUTTONDOWN, 0x00000001, 0x017E006A);
SendMessage(hWnd, WM_LBUTTONUP, 0x00000001, 0x017E006A);
}
追问
现在貌似通过对话窗口名称不能直接找到窗口句柄啊……
追答
能找到,我试过了,能实现抖动
匿名用户
2014-01-24
展开全部
QQ抖动功能其实就是一个音频文件 窗口移动来实现的,这里我用到的播放音频文件的API是PlaySound,播放的音

频文件是"shake.wav",这个文件是直接在QQ安装目录下复制过来的,只要把它放到源程序目录下即可。在使用这个

播放音频的API:PlaySound时,需要在#include<windows.h>后面加上
#include<mmsystem.h>
#pragma comment(lib, "WINMM.LIB")
先建一个基本对话框的MFC程序,然后把对话框上默认的控件删除(这个不是必须的)。然后添加一个Button控件,

响应按钮的单击事件。
void CMoveDlg::OnBnClickedButton1()
{
// TODO: 在此添加控件通知处理程序代码
CRect rect;
GetWindowRect(&rect);
int m_move=10;
PlaySound("shake.wav",NULL,SND_FILENAME | SND_ASYNC);

for(int i=1;i<9;i++)
{
rect.OffsetRect(0,m_move);
MoveWindow(&rect);
Sleep(50);
rect.OffsetRect(m_move,0);
MoveWindow(&rect);
Sleep(50);
if (10==m_move)
{
m_move=-10;
}
else
{
m_move=10;
}
}
}
追问
哥们 百度到粘贴的也差太远 了吧
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式