15,979
社区成员
发帖
与我相关
我的任务
分享
BOOL CSysRemind::SendQQ(CString strQQ, //QQ号码
CString strTitle, //QQ聊天窗口标题(好友名称)
CString strContent)//需要发送的内容 ;
{
HWND qqHwnd = ::FindWindow(NULL,strTitle);
if( qqHwnd == NULL )
{
CString strQQUrl;
strQQUrl.Format("tencent://Message/?Menu=yes&Uin=%s&Site=itbulu&Service=300&sigT=45a1e5847943b64c6ff3990f8a9e644d2b31356cb0b4ac6b24663a3c8dd0f8aa12a595b1714f9d45", strQQ);
ShellExecute(NULL, _T("open"), strQQUrl, NULL, NULL, SW_SHOWNORMAL);
Sleep(6000);
qqHwnd = ::FindWindow(NULL,strTitle);
}
if(qqHwnd == NULL)
{
m_strError = "QQ聊天窗口不存在!";
return FALSE;
}
if(OpenClipboard(qqHwnd))
{
HGLOBAL clipbuffer;
char * buffer;
EmptyClipboard();
clipbuffer = GlobalAlloc(GMEM_DDESHARE, strContent.GetLength()+1);
buffer = (char*)GlobalLock(clipbuffer);
strcpy(buffer, LPCSTR(strContent));
SetClipboardData(CF_TEXT,clipbuffer);
GlobalUnlock(clipbuffer);
CloseClipboard();
/*if( clipbuffer )
{
GlobalFree(clipbuffer);
clipbuffer = NULL;
}*/
}
keybd_event(VK_CONTROL,0,0,0);
::SendMessage(qqHwnd, WM_KEYDOWN, 'V', 1);
::SendMessage(qqHwnd, WM_KEYUP, 'V', 1);
keybd_event(VK_CONTROL,0,KEYEVENTF_KEYUP,0);
keybd_event(VK_MENU,MapVirtualKey(VK_MENU,0),0,0);
::SendMessage(qqHwnd, WM_SYSKEYDOWN, 'S', 1);
::SendMessage(qqHwnd, WM_SYSKEYUP, 'S', 1);
keybd_event(VK_MENU, MapVirtualKey(VK_MENU,0), KEYEVENTF_KEYUP, 0);
return TRUE;
}