我正在应用程序需要自动连接到删除桌面(RDP协议)的项目中工作。为此,我使用Delphi中使用mstscax.dll的库MSTSCLib_TLB。 的问题是,在Windows标识的连接从一个ActiveX控件的到来,并显示该警告:Mstsc ActiveX控件警告
此警告使得难以在服务器上自动连接。
注意:“一个网站正在尝试启动远程连接”,而我正在从一个可执行文件执行此操作... 我在互联网上阅读了关于此消息,并尝试了一些Windows注册表的解决方案,但没有他们解决了这个问题。 我接受在Windows注册表上工作的解决方案来停止显示此警告,但我更喜欢以编程方式解决方案。我看到使用IObjectSafety签名ActiveX对象的消息并将SetInterfaceSafetyOptions设置为“INTERFACESAFE_FOR_UNTRUSTED_CALLER”,但我不知道这意味着什么,以及如何实现它。
我的应用程序进行编码德尔福,我在Windows 10中的代码至今:
procedure TForm1.Button1Click(Sender: TObject);
var
Client: TMsRdpClient9;
begin
Client:= TMsRdpClient9.Create(Self);
Client.Parent:= Self; //dont know why, but this ActiveX control needs a parent
Client.Server:= Edit1.Text;
Client.UserName:= Edit2.Text;
Client.AdvancedSettings9.ClearTextPassword:= Edit3.Text;
Client.OnLoginComplete:= LoginComplete;
Client.Connect;
end;