5

我目前正在尝试将 RDP 构建到我制作的应用程序中。我们经常需要定期连接到许多服务器,并且希望我们的员工无需了解所有服务器的详细信息。

我目前正在尝试使用以下示例: http: //www.codeproject.com/KB/cs/RemoteDesktop_CSharpNET.aspx

使用上述内容时,我收到以下错误:

由于以下错误,检索具有 CLSID {791FA017-2DE3-492E-ACC5-53C67A2B94D0} 的组件的 COM 类工厂失败:80040154 未注册类(HRESULT 异常:0x80040154 (REGDB_E_CLASSNOTREG))。

从这段代码:

MsRdpClient rdp1;
rdp1 = new MSTSCLib.MsRdpClient();

任何帮助将不胜感激,谢谢。

4

2 回答 2

1

将您的 Visual Studio 项目设置为 x86 版本。

项目属性 -> 构建选项卡 -> 平台目标 -> x86

在此处输入图像描述

如果没有帮助,请尝试通过regsvr32注册 com dll 。

于 2013-03-25T12:39:45.627 回答
0

正如 iamsleepy 评论的那样,依赖您的操作系统,您需要一个不同的 COM 组件。

您引用的那个是特定于 XP 的。查看以下页面,了解不同操作系统的所有 CLSID:

http://msdn.microsoft.com/en-us/library/windows/desktop/aa383541%28v=vs.85%29.aspx

例如,对于 Windows 7,{A9D7038D-B5ED-472E-9C47-94BEA90A5910}如果您通过注册表 (HKEY_CLASS_ROOT\CLSID) 搜索,您需要由C:\Windows\System32\mstscax.dll

于 2013-03-25T12:51:59.653 回答