http://dev.csdn.net/develop/article/53/53147.shtm
http://dev.csdn.net/develop/article/39/39410.shtm
http://dev.csdn.net/develop/article/26/26865.shtm
http://dev.csdn.net/develop/article/28/28554.shtm

解决方案 »

  1.   

    模拟鼠标点击,可以用mouse_event来实现。
    添加密码,可以先用FindWindowEx或者EnumChildWindow之类的API,找到密码框句柄,然后用SendMessage发一个WM_SETTEXT消息过去。
      

  2.   

    我想类似于TElTEL拨号器那种外挂性质的
      

  3.   

    你又不是截按键消息,应该不用钩子函数吧,可以用 kugou123(酷狗)兄介绍的方法啊.
      

  4.   

    you should use message hook to do it.it must be a dll.i write it to save my password.
    1.
    g_hHook = SetWindowsHookEx(WH_CALLWNDPROC, CallWndProc, g_hDllIns, 0);
    2.in hook callback functionLRESULT CALLBACK CallWndProc(int code, WPARAM wParam, LPARAM lParam)
    {
    AFX_MANAGE_STATE(AfxGetStaticModuleState());
    try 
    {
    if (code >= 0)
    {
    CWPSTRUCT *wp= (CWPSTRUCT*) lParam;
    if(wp->message == WM_SHOWWINDOW && wp->hwnd)
                                  {
                                    HWND hwnd = wp->hwnd;
    char lpClassName[255],lpCaption[255];
    memset(lpClassName,0,255);
    //获取类名
    GetClassName(hwnd,lpClassName,255);  
    GetWindowText(hwnd,lpCaption,255);
    CString strClass(lpClassName);
    CString strCaption(lpCaption);
                                         if(strClass == "#32770")
    {
                                              if(strCaption == "Test")
                                                EnumChildWindows(hwnd,(WNDENUMPROC)FillPassProc,0);  //fill your password here
                                         }
                                       
                       }
             }
    }BOOL CALLBACK FillPassProc(HWND hwnd,DWORD lParam)
    {
    char lpClassName[255],lpText[255];
    memset(lpClassName,0,255);
    memset(lpText,0,255);
    GetWindowText(hwnd,lpText,255);
    //获取类名
    GetClassName(hwnd,lpClassName,255);

    //判断是否是Edit控件
    CString strClass(lpClassName);
    if (0 == strClass.CompareNoCase("Edit"))
    {
    //获取窗口风格
    LONG lStyle =::GetWindowLong(hwnd,GWL_STYLE);
    //如果设置了ES_PASSWORD属性
    if (lStyle & ES_PASSWORD)
    {
             
                          SendMessage(hwnd,WM_SETTEXT,0,(LPARAM)"testpassword");
                                }
                       }
    return 1;
    }