WinCE4.2 操作系统里自带的 Windows Media Player 控件是 6.4版本,根本不是它界面上显示的 9.0 版本。这个WinCE4.2 操作系统里的 6.4 控件跟 Windows2000 下的 6.4 版本一模一样。明确以上两点后,一切就好办了!
首先,在PC机的[开始]-[运行]里执行以下命令:
regsvr32 c:\windows\system32\wmp.dll /u
这句的意思就是卸载掉 Windows Media Player 9.0 版本的控件的注册。然后,在PC机的[开始]-[运行]里执行以下命令:
regsvr32 c:\windows\system32\msdxm.ocx
这句的意思是注册 Windows Media Player 6.4 版本的控件。
接下来,打开 eMbedded Visual C++ 4.0,建立一个MFC对话框工程,在向导中把允许 ActiveX 控件打上钩,一路下一步。完成向导后,选择 [Project] 菜单中的 [Add to project] 中的 [Components and controls],弹出 Componests and Controls Gallery 对话框,打开 Registered ActiveX Controls 文件夹,显示出好几项来,最后面一项就是 [Windows Media Player],选中后点击[Insert]按钮,弹出Confirm Classes对话框,点OK按钮确定。这时,在对话框编辑窗口中的工具栏中就应该有 Windows Media Player 控件了,应该在最低下那个,好像显示的是个叉。
注意: 当你打开Registered ActiveX Controls文件夹后,如果里面没有出现Windows Media Player,那么你需要点旁边的 Add Control 按钮,定位到 c:\windows\system32\msdxm.ocx,完成后就会显示出来。
现在,从工具栏中拖一个 Windows Media Player 控件到对话框中,然后在 ClassWizard 中建立一个指向 Windows Media Player 控件的变量.
最后,选择你自己的平台编译一个Release版本,然后在你的嵌入式设备上运行一下看看,跟在Windows2000平台上没什么两样。