【发布时间】:2011-05-16 05:35:45
【问题描述】:
所以我们有一个简单的 C++ win32 控制台应用程序。我们想要的只是打印可用的网络摄像头和其他视频捕获设备的列表。我们想尽可能多地使用 windows api - 没有外部库 - 毕竟 - 我们想要的只是打印出一个列表 - 而不是飞上月球!)怎么做?
我自己的研究: 我找到了这个official msdn sample,但我仍然不知道如何将设备列表输出到屏幕上=((对不起 - 我是 C++ 新手)
...更多研究...
在一个关于主题的最简单的 ms 示例中找到了这个
HRESULT OnInitDialog(HWND hwnd, ChooseDeviceParam *pParam)
{
HRESULT hr = S_OK;
HWND hList = GetDlgItem(hwnd, IDC_DEVICE_LIST);
// Display a list of the devices.
for (DWORD i = 0; i < pParam->count; i++)
{
WCHAR *szFriendlyName = NULL;
hr = pParam->ppDevices[i]->GetAllocatedString(
MF_DEVSOURCE_ATTRIBUTE_FRIENDLY_NAME,
&szFriendlyName,
NULL
);
if (FAILED(hr))
{
break;
}
int index = ListBox_AddString(hList, szFriendlyName);
ListBox_SetItemData(hList, index, i);
CoTaskMemFree(szFriendlyName);
}
看起来它应该可以完成这项工作,但我不知道如何将其包含到简单的命令行应用程序中以便输出数据...
也来自这个系列:
- How to get a list of video capture devices on linux? 和 special details on getting cameras NAMES 提供正确、经过测试的答案
- How to get a list of video capture devices on Mac OS? 正确,但我的答案尚未测试
- How to get a list of video capture devices on windows? 提供正确、经过测试的答案
- How to get a list video capture devices NAMES using Qt (crossplatform)?
【问题讨论】:
标签: c++ visual-studio winapi visual-studio-2010 device