Windowsフォームanfを使用してRDPクライアントを作成しようとしていますAxMsTscAxNotSafeForScripting
私は次の方法を持っています:
_rdpList = new List<AxMsTscAxNotSafeForScripting>();
public bool addRDP(string ip, string username, string pass)
{
for (int i = 0; i < number ; i++)
{
if (_rdpList[i].Connected.ToString() != "1")
{
try
{
_rdpList[i].Server = ip;
_rdpList[i].UserName = username;
IMsTscNonScriptable secured = (IMsTscNonScriptable) _rdpList[i].GetOcx());
secured.ClearTextPassword = pass;
_rdpList[i].Connect();
_picList[int.Parse(_rdpList[i].Name)].ImageLocation = greenPath;
return true;
}
catch (Exception Ex)
{
MessageBox.Show("Error Connecting", "Error connecting to remote desktop " + ip + " Error: " + Ex.Message, MessageBoxButtons.OK, MessageBoxIcon.Error);
}
}
}
私はスレッドからこのメソッドを呼び出し、それが実行しようとすると:IMsTscNonScriptable secured = (IMsTscNonScriptable) _rdpList[i].GetOcx());
次のエラーで失敗します:
タイプ'System.__ComObject'のCOMオブジェクトをインターフェイスタイプ'MSTSCLib.IMsTscNonScriptable'にキャストできません。次のエラーが原因で、IID'{C1E6743A-41C1-4A74-832A-0DD06C1C7A0E}'のインターフェイスのCOMコンポーネントに対するQueryInterface呼び出しが失敗したため、この操作は失敗しました。このようなインターフェイスはサポートされていません(HRESULTからの例外:0x80004002(E_NOINTERFACE)) 。
私は一日中それに取り組んでいますが、問題を理解できませんでしたか?
奇妙なことに、Windowsフォームイベント(ボタンクリックなど)からこのメソッドを呼び出すと、このメソッドが正常に機能するたびに、WCFサービスからこのメソッドを呼び出すときにのみ問題が発生します。
助けてください。