gpt4 book ai didi

c# - Mstsc ActiveX 控件警告

转载 作者:行者123 更新时间:2023-11-30 21:53:45 24 4
gpt4 key购买 nike

我在一个应用程序需要自动连接到删除桌面(RDP 协议(protocol))的项目中工作。为此,我使用了 Delphi 的库 MSTSCLib_TLB,它使用 mstscax.dll。问题是 Windows 识别连接来自 ActiveX 控件,并显示此警告:

enter image description here

此警告导致难以在服务器上自动连接。

注意:“网站正在尝试启动远程连接”,而我是从可执行文件执行此操作的...我在 Internet 上阅读了有关此消息的信息,并尝试了一些有关 Windows 注册表的解决方案,但都没有解决问题。我接受适用于 Windows 注册表的解决方案以停止显示此警告,但我更喜欢编程解决方案。我看到了使用 IObjectSafety 签署 ActiveX 对象并将 SetInterfaceSafetyOptions 设置为“INTERFACESAFE_FOR_UNTRUSTED_CALLER”的建议,但我不知道这意味着什么以及如何实现。

我的应用程序是在 Delphi 上编写的,我在 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;

最佳答案

明白了。我没有使用“TMsRdpClient9”,而是使用了带有以下代码的“TMsRdpClientNotSafeForScripting”:

procedure TForm1.Button1Click(Sender: TObject);
var
Client: TMsRdpClientNotSafeForScripting;
begin
Client:= TMsRdpClientNotSafeForScripting.Create(Self);
Client.Parent:= Form1;
Client.Server:= Edit1.Text;
Client.ControlInterface.UserName:= Edit2.Text;
Client.AdvancedSettings2.ClearTextPassword:= Edit3.Text;
Client.Connect;
end;

关于c# - Mstsc ActiveX 控件警告,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33692324/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com