我想做一个批处理下载的小程序
调用了迅雷的函数AddTask启动某个下载
但是现在郁闷的是每次下载都要点击一下确定 
有没有大侠知道如何能够不弹出对话框或者 自动“确定” ?

解决方案 »

  1.   

    先将鼠标移动到你要单击的那个按钮上
    SetCursorPos(x, y);
    //鼠标单击
    mouse_event(MOUSEEVENTF_LEFTDOWN, 0, 0, 0, 0);
    mouse_event(MOUSEEVENTF_LEFTUP,   0, 0, 0, 0);
      

  2.   

    楼上的  你写的我怎么不太明白呢
    SetcursorPos不是设置鼠标么?
    我并不知道那个按钮的坐标  而且它也是会变化的 
    而且这样还是会弹出对话框吧  怎么样才能彻底不呢?
    我这里有一个别人的程序 可以直接批量添加任务 这是怎么做到的呢?
    但是他的程序也只能添加201个任务 不能再多了
      

  3.   

    用FindWindow找到这个窗口,然后取得确定按扭的位置.
      

  4.   

    你写一个VBS脚本来调用
    VBS不会弹出确认框
    我试过了
    用VC来调用这个脚本即可
      

  5.   

    AddTask("下载地址", "另存文件名", "保存目录","任务注释","引用地址","开始模式", "只从原始地址下载","从原始地址下载线程数") 将开始模式进行修改0手工开始,1立即开始,默认为-1,表示由迅雷处理,可选参数
      

  6.   

    楼上 我现在设的参数就是
     pAgent->AddTask(( _bstr_t)dia.m_Web,
       (_bstr_t)m_filename,
       (_bstr_t)m_dir,
       "","",1,0,-1);
    立即开始 还是会弹出对话框
    还有楼上的楼上大侠
    VBS脚本是什么?汗  我很菜 再学习学习吧 
      

  7.   

    最后也是用VBS脚本解决的问题
    代码如下:
    Set ThunderAgent = CreateObject("ThunderAgent.Agent.1")
    Call ThunderAgent.AddTask("网址","文件名","存储地址","","",1,0,5)
    Call ThunderAgent.CommitTasks2(1)不过现在还有个问题 就是一次添加上千任务的时候 迅雷卡的要当机了 不过这个是迅雷自身的问题,与这个调用无关