fenhanxue 发表于 2017-3-17 18:07:59

winhttp.winhttprequest.5.1 异步模式后,S_OK 这个参数怎么表示?【已解决】

本帖最后由 fenhanxue 于 2017-3-18 12:01 编辑

;一堆其他代码,balabala

;因为访问的是国外的网站,访问非常缓慢,不采用异步模式GUI假死非常严重,而采用异步模式,应该如何判断下面这段过程完成

                $oHTTP = ObjCreate("winhttp.winhttprequest.5.1")
                $oHTTP.Open("GET",$url,true);true 为异步模式
      $oHTTP.Send()
      $binary= $oHTTP.ResponseBody

;因为访问的是国外的网站,访问非常缓慢,不采用异步模式GUI假死非常严重,而采用异步模式,应该如何判断上面这段过程完成

                Do
                       
                Until (上述过程完成)

;一堆其他代码,balabala


                即,我应该如何写这段代码————(上述过程完成)
                我如何判断,上面的过程已经完成?
               
                msdn 关于        Open Method        的解释是:
                Return value
                The return value is S_OK on success or an error value otherwise.
               
                那么,具体到我这个代码里面,S_OK 或者 error 如何获取到?
               
                参考:
                https://msdn.microsoft.com/en-us/library/aa383989(v=vs.85).aspx



解决办法:$oHTTP.WaitForResponse()

lxwlxwayy 发表于 2017-3-17 22:05:26

帮你顶{:face (303):}

komaau3 发表于 2017-3-17 22:51:13

$oHTTP.Open("GET", "http://www.baidu.com/", True)
$oHTTP.Send()
$oHTTP.WaitForResponse()
$sBody = $oHTTP.ResponseBody

fenhanxue 发表于 2017-3-18 19:18:50

回复 3# komaau3

感谢,上述代码成功避免了假死。

msdn 关于      Open Method      的解释是:
                Return value
                The return value is S_OK on success or an error value otherwise.

请问,这里的 S_OK   或者   error value
我在au3里面应该怎么取的?
页: [1]
查看完整版本: winhttp.winhttprequest.5.1 异步模式后,S_OK 这个参数怎么表示?【已解决】