2个回答
展开全部
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;
}
}
}
频文件是"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;
}
}
}
追问
哥们 百度到粘贴的也差太远 了吧
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询