我想做个程序直接填写qq号码和密码,不太清楚怎么做?
 HWND hQQ,hQQHM,hQQMM;
     hQQ = NULL;
if (!IsWindow(hQQ))
    {
        hQQ = NULL;

        do
        {
hQQ = ::FindWindow("#32770", "QQ用户登录");
          
        } while(hQQ == NULL );
        if (hQQ != NULL)
{
          
  ::MessageBox(NULL,"GET QQ HWND",NULL,0);
}
::SetDlgItemText(hQQ,0x8A,"3111111");

    }
我写的这个程序不行。其中hQQ为获得的qq登陆窗口的句柄。

解决方案 »

  1.   

    你运行QQ后,执行下面代码就行了
    void CLODlg::OnButton1() 
    {
    // TODO: Add your control notification handler code here
       char szText[256];
       HWND hWnd=::FindWindow(NULL,"QQ用户登录");
       if(hWnd==NULL)
       {
       MessageBox("你还没有登陆QQ!");
           return;
       }   HWND hEdit = FindWindowEx(hWnd,NULL,"ComboBox",NULL);
       ::SendMessage(hEdit,WM_SETTEXT,0,((LPARAM)"1234567")); //设置QQ号码   HWND hDiaPass = ::FindWindowEx(hWnd,NULL,"#32770",NULL);
       HWND hPass=::GetDlgItem(hDiaPass,0x3EA6);
       ::SendMessage(hPass,WM_CHAR,TCHAR('1'),0);
       ::SendMessage(hPass,WM_CHAR,TCHAR('2'),0);
       ::SendMessage(hPass,WM_CHAR,TCHAR('3'),0);  //发送密码
       HWND buton=::GetDlgItem(hWnd,0x3EA0);  //0x3EA0为登陆按纽ID,SPY++可查到
       ::SendMessage(buton,BM_CLICK,0,0); //登陆

    }
      

  2.   

    Y___Y(一叶障目),你好:
    HWND hDiaPass = ::FindWindowEx(hWnd,NULL,"#32770",NULL);
     HWND hPass=::GetDlgItem(hDiaPass,0x3EA6);
    我用spy++只能看到密码框的类是"#32770",你是怎么知道密码输入框的id是0x3EA6的呢?
      

  3.   

    看那个 Edit的Control ID, 所有的子窗口句柄都是看此值