当前位置:编程学习 > wap >>

如何通过代码更改默认的联网方式?

使用Connection manager联网,总是显示“正在连接到互联星空”
我希望通过“互联网”方式连接,该如何做?
--------------------编程问答-------------------- 首先检查是否有可用连接
BOOL CConnectManager::GetConnMgrAvailable()
{
    HANDLE hConnMgr = ConnMgrApiReadyEvent ();
    BOOL bAvailbale = FALSE;
    DWORD dwResult = ::WaitForSingleObject ( hConnMgr, 2000 );
    if ( dwResult == WAIT_OBJECT_0 )
    {
        bAvailbale = TRUE;
    }
    // 关闭
    if ( hConnMgr ) CloseHandle ( hConnMgr );

    return bAvailbale;
}
--------------------编程问答-------------------- 然后枚举所有可用连接:
void CConnectManager::EnumNetIdentifier ( OUT CStringArray &StrAry )
{
    CONNMGR_DESTINATION_INFO networkDestInfo = {0};

    // 得到网络列表
    for ( DWORD dwEnumIndex=0; ; dwEnumIndex++ )
    {
        memset ( &networkDestInfo, 0, sizeof(CONNMGR_DESTINATION_INFO) );
        if ( ConnMgrEnumDestinations ( dwEnumIndex, &networkDestInfo ) == E_FAIL )
        {
            break;
        }
        StrAry.Add ( networkDestInfo.szDescription );
    }
}
--------------------编程问答-------------------- 启用指定编号的连接并检查连接状态
BOOL CConnectManager::EstablishConnection ( DWORD dwIndex )
{
    // 释放之前的连接
    ReleaseConnection ();

    // 得到正确的连接信息
    CONNMGR_DESTINATION_INFO DestInfo = {0};
    HRESULT hResult = ConnMgrEnumDestinations(dwIndex, &DestInfo);
    BOOL bRet = FALSE;
    if(SUCCEEDED(hResult))
    {
        // 初始化连接结构
        CONNMGR_CONNECTIONINFO ConnInfo;

        ZeroMemory(&ConnInfo, sizeof(ConnInfo));
        ConnInfo.cbSize = sizeof(ConnInfo);
        ConnInfo.dwParams = CONNMGR_PARAM_GUIDDESTNET;
        ConnInfo.dwFlags = CONNMGR_FLAG_PROXY_HTTP | CONNMGR_FLAG_PROXY_WAP | CONNMGR_FLAG_PROXY_SOCKS4 | CONNMGR_FLAG_PROXY_SOCKS5;
        ConnInfo.dwPriority = CONNMGR_PRIORITY_USERINTERACTIVE;
        ConnInfo.guidDestNet = DestInfo.guid;
        ConnInfo.bExclusive    = FALSE; 
        ConnInfo.bDisabled = FALSE;

        DWORD dwStatus = 0;
        hResult = ConnMgrEstablishConnectionSync(&ConnInfo, &m_hConnection, 10*1000, &dwStatus );
        if(FAILED(hResult))
        {
            m_hConnection = NULL;
        }
        else bRet = TRUE;
    }

    return bRet;
}

补充:移动开发 ,  Windows Phone
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,