如何通过程序获得Windows Media Player的版本号

 
在平时的编程中,因为需要使用到Windows Media SDK或者播放ASF/WMV等文件时,需要判别Windows Media Player的版本号。以下就通过编程来实现此功能。          
Windows Media Player的版本的判定通过 wmvcore.dll来做。
                BOOL IsMediaPlay9Installed()
                {
                         BOOL bflag = FALSE;
       DWORD dwSize = 0;
 
       // This function determines whether the OS can obtain version information about a
// specified file. If version information is available, GetFileVersionInfoSize
// returns the size, in bytes.
       dwSize = GetFileVersionInfoSize(TEXT("wmvcore.dll"),0);
       if (dwSize>0)
       {
              BYTE *pBuf = NULL;
              pBuf = new BYTE[dwSize];
              if (!pBuf)               return FALSE;
              if (GetFileVersionInfo(TEXT("wmvcore.dll"), 0, dwSize, pBuf))
              {
                     UINT dwBytes = 0;
                     VS_FIXEDFILEINFO *pvsInfo = NULL;
                     if (VerQueryValue(pBuf, TEXT("//"), (void**)&pvsInfo, &dwBytes))
                     {
                            INT32 nMajor = 0;
                            nMajor = HIWORD(pvsInfo->dwProductVersionMS);
                            INT32 nSub = 0;
                            nSub = LOWORD(pvsInfo->dwProductVersionMS);
                            if (nMajor >= 9 && nSub >= 0)
                                   bflag = TRUE;
                            else
                                   bflag = FALSE;
                     }
              }
              if (pBuf != NULL)
              {
                     delete [] pBuf;
                     pBuf = NULL;
              }
       }
       return bflag;
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值