Windows获取默认浏览器(1)

BOOL GetDefaultBrowser(LPTSTR lpBuffer,DWORD nSize)
{
    TCHAR wszBuffer[MAX_PATH] = {0};  
    TCHAR temp[MAX_PATH]={0};
    DWORD dwDataSize = sizeof(wszBuffer);
    TCHAR *p;

    ZeroMemory(lpBuffer,nSize*sizeof(TCHAR));

    if(0!=RegGetValue(HKEY_CURRENT_USER,  
        TEXT("Software\\Microsoft\\Windows\\Shell\\Associations\\UrlAssociations\\http\\UserChoice"),  
        TEXT("Progid"),  
        RRF_RT_REG_SZ,  
        0,  
        wszBuffer,  
        &dwDataSize ))
    {
        return 0;
    }

    _tcscat_s(wszBuffer,TEXT("\\shell\\open\\command"));
    dwDataSize=sizeof(wszBuffer);

    if(0!=RegGetValue(HKEY_CLASSES_ROOT,  
        wszBuffer,  
        NULL,  
        RRF_RT_REG_SZ,  
        0,  
        temp,  
        &dwDataSize  ))
    {
        return 0;
    }

    //去引号参数
    if (temp[0]==L'\"')
    {
        p=_tcschr(&temp[1],'\"');
        
        memcpy(lpBuffer,&temp[1],(p-&temp[1])*sizeof(TCHAR));
    }
    


    return TRUE;
}

 

posted on 2014-04-08 08:43  回头多少个秋  阅读(333)  评论(0)    收藏  举报