问题描述
我正在使用 AxmsTSCLib
开发用于建立 RDP 连接的 Windows 应用程序。但我不知道如何将物理摄像头从客户端重定向到远程 RDP 会话。
我尝试在 .rdp 文件中添加 camerastoredirect:s:*
和 devicestoredirect:s:*
以重定向摄像头,成功了,我可以通过 RDP 在远程桌面中使用摄像头。
但我在 AxmsTSCLib
库中找不到正确的属性来启用此功能。
我尝试重定向所有可能的/动态设备,但它根本不起作用。代码如下:
public AxmsTSCLib.AxmsRdpClient7NotSafeForScripting oRemote;
oRemote = new AxmsTSCLib.AxmsRdpClient7NotSafeForScripting();
oRemote.AdvancedSettings7.RedirectDevices = true;
oRemote.AdvancedSettings7.RedirectPorts = true;
oRemote.AdvancedSettings7.RedirectPOSDevices = true;
MSTSCLib.imsRdpClientNonScriptable5 ocx = (MSTSCLib.imsRdpClientNonScriptable5)oRemote.Getocx();
ocx.RedirectDynamicDevices = true;
for (int i = 0; i < ocx.DeviceCollection.DeviceCount; i++)
{
MSTSCLib.imsRdpDevice device = ocx.DeviceCollection.get_DeviceByIndex((uint)i);
device.RedirectionState = true;
}
我在较新的 API 文档中发现 IMsRdpCameraRedirConfigCollection,需要将 imsRdpClientNonScriptable
从 5 升级到 7。
我尝试在将 Redirected
设置为 true 之前打印其计数,如下所示:
MSTSCLib.imsRdpClientNonScriptable7 ocx = (MSTSCLib.imsRdpClientNonScriptable7)oRemote.Getocx();
Logger.Log("[ocx.CameraRedirConfigCollection.Count]:" + (ocx.CameraRedirConfigCollection.Count).ToString());
for (int i = 0; i < ocx.CameraRedirConfigCollection.Count; i++)
{
MSTSCLib.imsRdpCameraRedirConfig camera = ocx.CameraRedirConfigCollection.get_ByIndex((uint)i);
Logger.Log("[camera.FriendlyName]:" + camera.FriendlyName);
camera.Redirected = true;
}
不幸的是,我得到了零。
根据 Docs,看来我必须使用 AddConfig
方法将相机符号链接添加到集合中。我在这一点上卡住了,如何将相机符号链接添加到 imsRdpCameraRedirConfigCollection
?如何获取相机符号链接?
解决方法
为什么GET https://androidpublisher.googleapis.com/androidpublisher/v3/applications/{packageName}/reviews
一开始是空的?由于您没有Rescan连接相机设备。
IMsRdpCameraRedirConfigCollection
就是这样,所有连接的摄像头设备都将重定向到远程桌面。