一个验证码图片 如何粘贴到剪切板下呢

一个验证码图片 怎么粘贴到剪切板上呢
验证码html 如下<img src="/code/bin/verify/captcha.php" width="114" height="40" onClick='this.src="/code/bin/verify/captcha.php?n="+Math.random();' alt="验证码">

他是没有名字的 我找到的验证码放到剪贴板上的代码是
C/C++ code


IHTMLElementCollection   *objAllElement=NULL; 
    IHTMLDocument2   *objDocument=NULL; 
    CComPtr <IDispatch> pDisp; 

    objDocument=(IHTMLDocument2   *)m_IE.get_Document(); 
    objDocument->get_all(&objAllElement); 


    HRESULT hr        = E_FAIL;
    IHTMLDocument2* pDoc = NULL;
    IHTMLElement* pelmBody = NULL;
    IHTMLElement2* pelmBodyTwo = NULL;
    IDispatch* pdispImgElement = NULL;
    IDispatch* pdispCtrlRange = NULL;
    IHTMLElementCollection* pColl = NULL;
    IHTMLControlElement* pCtrlElement = NULL;
    IHTMLControlRange* pCtrlRange = NULL;
    BSTR bstrCommand = SysAllocString(L"Copy");
    VARIANT_BOOL vbReturn;
    VARIANT vEmpty;
    VariantInit(&vEmpty);
    IHTMLDocument2   *pDispDoc=NULL; 
    pDispDoc=(IHTMLDocument2   *)m_IE.get_Document(); 
    if (pDispDoc == NULL)
        goto Cleanup;


    if (FAILED(pDispDoc->QueryInterface(IID_IHTMLDocument2, (void**) &pDoc)))
        goto Cleanup;

    if (FAILED(pDoc->get_all(&pColl)))
        goto Cleanup;
[color=#3366FF]
    if (FAILED(pColl->item(COleVariant( _T("random_img")), COleVariant((long)0), &pdispImgElement))
        || pdispImgElement == NULL)    
        goto Cleanup;[/color]
    if (FAILED(pDoc->get_body(&pelmBody)) || pelmBody == NULL)
        goto Cleanup;

    if (FAILED(pelmBody->QueryInterface(IID_IHTMLElement2, (void**) &pelmBodyTwo)) 
        || pelmBodyTwo == NULL)
        goto Cleanup;

    if (FAILED(pelmBodyTwo->createControlRange(&pdispCtrlRange)) 
        || pdispCtrlRange == NULL)
        goto Cleanup;

    if (FAILED(pdispCtrlRange->QueryInterface(IID_IHTMLControlRange, (void**) &pCtrlRange)) 
        || pCtrlRange == NULL)
        goto Cleanup;

    if (FAILED(pdispImgElement->QueryInterface(IID_IHTMLControlElement, (void**) &pCtrlElement)) 
        || pCtrlElement == NULL)
        goto Cleanup;

    hr = pCtrlRange->add(pCtrlElement);

    if (SUCCEEDED(hr))
        hr = pCtrlRange->execCommand(bstrCommand, VARIANT_FALSE, vEmpty, &vbReturn);

    pCtrlElement->Release();
    hr = S_OK;

Cleanup:

    SysFreeString(bstrCommand);

    if (pCtrlRange)
        pCtrlRange->Release();




    if ( IsClipboardFormatAvailable(CF_BITMAP) )
    {

        HWND hwnd;
        CRect rc;

        if (OpenClipboard()) 
        { 

            HBITMAP hbm = (HBITMAP)GetClipboardData(CF_BITMAP);
            m_picture.SetBitmap(hbm);
            m_picture.Invalidate();
            CloseClipboard(); 
        } 


    }





其中一段是错误的 我知道 是用验证码的名字获取,可是验证码没有名字怎么获取呢?
if (FAILED(pColl->item(COleVariant( _T("random_img")), COleVariant((long)0), &pdispImgElement))
|| pdispImgElement == NULL)

这句 怎么写呢 怎么获取验证码呢?

------解决方案--------------------
没做过,帮顶
------解决方案--------------------
楼主是想识别图片的验证码?用opencv,具体步骤google
------解决方案--------------------
验证码能这么轻易获取,那验证码就失去意义了。
一般验证码图片是在服务器端合成的图片,只能获得图片,很难获得验证码的文字。
------解决方案--------------------
先下载这个图片,再打开这个图片,转为bmp,复制到剪贴板就完了
------解决方案--------------------
用IE组件来得到图片是个不好的办法,因为如果你知道图片的URL,就可以直接下载

------解决方案--------------------
对你这个流程很感兴趣。背景和重要的文字是分离的吧。是在服务器根据客户点击随机合成还是别的方式?
生成文件没有名字?