[英]Embedding Windows Media Player in MFC
我正在尝试使用 Visual Studio 2019 将 WMP 嵌入到新创建的基于 MFC 对话框的应用程序中。这些是我正在遵循的步骤:
WMP_Player
m_wmp
CWMP_Player.h
和CWMP_Player.cpp
被添加到项目中。 我尝试构建项目,但失败了。 在CWMP_Player.h
中有 354 个错误,例如:
严重性代码描述项目文件行抑制State
错误 C2535
BOOL CWMP_Player::get_isAvailable(LPCTSTR)
: 成员 function 已定义或声明 WinMediaPl错误 C2377
BOOL
:重新定义; typedef 不能用任何其他符号 WinMediaPl 重载错误 C2660
CWMP_Player::InvokeHelper
: function 不占用 5 arguments WinMediaPl
虽然CWMP_Player.cpp
几乎是空的,但只有几个包含(一个是pch.h
)和这一行:
IMPLEMENT_DYNCREATE(CWMP_Player, CWnd)
我忘了一步吗? 我应该在这个文件或其他文件中包含一些东西吗?
在我看来,VS2019添加的class文件中自动添加的代码与WinMediaPl
中的定义有冲突。 对比VS2017和VS2019自动添加的代码后,发现下面自动添加的代码在CWMP_Player.h
或其他.h
中是多余的。
// Operations
public:
// IWMPPlaylist
// Functions
//
long get_count()
{
long result;
InvokeHelper(0xC9, DISPATCH_PROPERTYGET, VT_I4, (void*)&result, nullptr);
return result;
}
CString get_name()
{
CString result;
InvokeHelper(0xCA, DISPATCH_PROPERTYGET, VT_BSTR, (void*)&result, nullptr);
return result;
}
...
VARIANT getItemInfoByType(long lCollectionIndex, LPCTSTR bstrType, LPCTSTR bstrLanguage, long lAttributeIndex)
{
VARIANT result;
static BYTE parms[] = VTS_I4 VTS_BSTR VTS_BSTR VTS_I4 ;
InvokeHelper(0x5AE, DISPATCH_METHOD, VT_VARIANT, (void*)&result, parms, lCollectionIndex, bstrType, bstrLanguage, lAttributeIndex);
return result;
}
因此,您可以将它们注释掉。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.