如何在c ++ metro风格的应用程序中使用URL连接

时间:2012-07-04 07:30:06

标签: microsoft-metro

我想知道如何使用c ++ metro style app从站点连接http url下载xml文件。

1 个答案:

答案 0 :(得分:0)

您可以使用IXMLHTTPRequest2

// First create the interface objects required for this operation 
// as well as the callback that indicates request completion. 
// The dwStatus variable is also defined, and is later set with a 
// value indicating request completion.
DWORD dwStatus = 0;
ComPtr<IXMLHTTPRequest2> spXHR;
ComPtr<CXMLHttpRequest2Callback> spMyXhrCallback;
ComPtr<IXMLHTTPRequest2Callback> spXhrCallback;

// Create an object of the IID_IXMLHTTPRequest2 class.
CoCreateInstance(CLSID_FreeThreadedXMLHTTP60,
                 NULL,
                 CLSCTX_INPROC_SERVER,
                 IID_PPV_ARGS(&spXHR));

// Create and initialize IXMLHTTPRequest2Callback
MakeAndInitialize<CXMLHttpRequest2Callback>(&spMyXhrCallback);

spMyXhrCallback.As(&spXhrCallback);


// Prepare the GET request and send it to the server.
spXHR->Open(L"GET",       // Method.
   pcwszUrl,              // Url.
   spXhrCallback.Get(),   // Callback.
   NULL,                  // Username.
   NULL,                  // Password.
   NULL,                  // Proxy username.
   NULL);                 // Proxy password.

spXHR->Send(NULL, 0);


// Wait for the completion of the request.
spMyXhrCallback->WaitForComplete(&dwStatus);