# include“ltmf.h”# include“resource.h”# include“tchar.h”# include“文件”实例句柄g_hInstance;/ /应用程序实例句柄IltmfCapture * g_pCapture;/ /转换对象的接口指针/ // / BuildCaptureInputList/ /填充列表框的内容匹配集合/ // / pCaptureInputs =输入集合的接口指针/ / hwndListBox = listbox窗口句柄/ /无效BuildCaptureInputList (IltmfCaptureInputs * pCaptureInputs HWND hwndListBox){长我;长计数;int选择= 1;/ /重置列表框的内容SendMessage (hwndListBox LB_RESETCONTENT 0,0);/ /得到集合的项数pCaptureInputs - > get_Count(数);为(i = 0;我<数;我+ +){IltmfCaptureInput * pCaptureInput;型型;TCHAR sz [256];int指数;VARIANT_BOOL f;/ /检索项集合pCaptureInputs - >项目(我&pCaptureInput);/ /得到可显示的名字pCaptureInput - > get_Name(型);/ /从unicode转换_stprintf(深圳_T (“% ls”),型);/ /免费的名字SysFreeString(型);/ /将名称添加到列表框指数= SendMessage (hwndListBox LB_ADDSTRING 0, (LPARAM) (LPCTSTR)深圳);/ /关联列表框项集合的项的索引SendMessage (hwndListBox LB_SETITEMDATA,指数i);/ /记住这个列表框项,如果是在集合中选择pCaptureInput - > get_Selected (f);如果(f)选择=我;/ /免费收藏项目pCaptureInput - >释放();}/ /选择适当的列表框项为(i = 0;我<数;我+ +){如果(选择= = (长)SendMessage (hwndListBox LB_GETITEMDATA,我,0)){SendMessage (hwndListBox LB_SETCURSEL,我,0);打破;}}}/ // / CaptureInputSelectionChanged/ /打电话反映的变化列表框的选择/ // / pCaptureInputs =输入集合的接口指针/ / hwndListBox = listbox窗口句柄/ /无效CaptureInputSelectionChanged (IltmfCaptureInputs * pCaptureInputs HWND hwndListBox){int指数;长项;int我;int计数;HRESULT人力资源;/ /得到当前的索引列表框的选择指数= (int)SendMessage (hwndListBox LB_GETCURSEL 0,0);如果(指数< 0){/ /明确的选择pCaptureInputs - > put_Selection (1);}其他的{/ /获取集合项的索引项= (长)SendMessage (hwndListBox, LB_GETITEMDATA、索引0);/ /选择项# ifdef _DEBUG{IltmfCaptureInput * pCaptureInput;pCaptureInputs - >项目(项目、&pCaptureInput);hr = pCaptureInput - > put_Selected (VARIANT_TRUE);pCaptureInput - >释放();}#其他的hr = pCaptureInputs - > put_Selection(项);# endif/ /如果新的选择失败,我们需要迫使列表框匹配实际的选择如果(失败(人力资源){/ /得到真正的选择pCaptureInputs - > get_Selection(项);/ /找到匹配的列表框项数= (int)SendMessage (hwndListBox LB_GETCOUNT 0,0);为(i = 0;我<数;我+ +){如果(项目= = (长)SendMessage (hwndListBox LB_GETITEMDATA,我,0)){SendMessage (hwndListBox LB_SETCURSEL,我,0);打破;}}}}}/ // / SelectCompositeVideo/ /选择复合视频,如果可用/ // / pCaptureInputs =输入集合的接口指针/ / hwndListBox = listbox窗口句柄/ /无效SelectCompositeVideo (IltmfCaptureInputs * pCaptureInputs HWND hwndListBox){长项;型型;长我;长计数;/ /找到复合视频输入型= SysAllocString (L“视频复合”);pCaptureInputs - >找到(型、项目);SysFreeString(型);/ /当前的选择如果(项目> = 0){pCaptureInputs - > put_Selection(项);pCaptureInputs - > get_Count(数);/ /选择适当的列表框项为(i = 0;我<数;我+ +){如果(项目= = (长)SendMessage (hwndListBox LB_GETITEMDATA,我,0)){SendMessage (hwndListBox LB_SETCURSEL,我,0);打破;}}}}/ // / CaptureInputDlgProc/ /选择对象的输入/ /BOOL调CaptureInputDlgProc (HWND HWND,使用UINT味精,按钮按钮,LPARAM LPARAM){IltmfCaptureInputs * pCaptureInputs;开关(味精){情况下WM_INITDIALOG:/ /初始化视频输入列表框g_pCapture - > get_VideoInputs (&pCaptureInputs);BuildCaptureInputList (pCaptureInputs GetDlgItem (hwnd, IDC_VIDEOINPUTS));pCaptureInputs - >释放();返回真正的;打破;情况下WM_COMMAND:开关(LOWORD(按钮){情况下IDC_SELECTCOMPOSITEVIDEO:/ /选择复合视频g_pCapture - > get_VideoInputs (&pCaptureInputs);SelectCompositeVideo (pCaptureInputs GetDlgItem (hwnd, IDC_VIDEOINPUTS));pCaptureInputs - >释放();返回真正的;打破;情况下IDC_VIDEOINPUTS:如果(HIWORD(按钮)= = LBN_SELCHANGE){/ /选择视频输入g_pCapture - > get_VideoInputs (&pCaptureInputs);CaptureInputSelectionChanged (pCaptureInputs GetDlgItem (hwnd, IDC_VIDEOINPUTS));pCaptureInputs - >释放();}打破;情况下IDOK:EndDialog (hwnd, IDOK);返回真正的;打破;}打破;}返回虚假的;}intAPIENTRY . WinMain(实例句柄实例句柄,实例句柄hPrevInstance,[lpCmdLine,intnCmdShow){HRESULT人力资源;IltmfDevices * pDevices;g_hInstance =实例句柄;/ /初始化COM库hr = CoInitialize(空);如果(失败(人力资源)转到错误;/ /创建捕获对象hr = CoCreateInstance (CLSID_ltmfCapture, NULL, CLSCTX_INPROC_SERVER IID_IltmfCapture (无效* *)&g_pCapture);如果(失败(人力资源)转到错误;/ /选择第一个可用的音频设备g_pCapture - > get_AudioDevices (&pDevices);pDevices - > put_Selection (0);pDevices - >释放();/ /选择第一个视频设备可用g_pCapture - > get_VideoDevices (&pDevices);pDevices - > put_Selection (0);pDevices - >释放();对话框(g_hInstance LPCTSTR IDD_INPUTDLG, NULL, CaptureInputDlgProc);错误:/ /清理如果(g_pCapture)g_pCapture - >释放();CoUninitialize ();返回0;}
帮助收藏
光栅net|C API|c++类库|HTML5 JavaScript
文档net|C API|c++类库|HTML5 JavaScript
医疗net|C API|c++类库|HTML5 JavaScript
医疗Web查看器net
188宝金博怎么下载
支持的平台上
net, Java, Android和iOS / macOS组件
C / c++类库的API
HTML5 JavaScript库
你的邮件已经发送到支持!有人应该联系!如果你的问题是紧急请回到聊天。
聊天时间:
周一——周五,上午6点等
谢谢你的反馈!
请填写表单重新开始一个新的聊天。
所有代理目前离线。
聊天时间:
周一-周五
早上8:30 - 6点
联系我们请填写这张表格,我们将通过电子邮件联系你。
