我正在應用程序需要自動連接到刪除桌面(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;