2011-11-08 104 views
3

C#.NETを使用してリモートデスクトップアプリケーションをコーディングしようとしています。 MSTSCLibとのリモートデスクトップ接続

私はMSTSLibへの参照を追加して、いくつかの例を踏襲し(下記参照)とWindowsフォームを作成し、フォームとコードに次の行動Microsoftターミナルサービスコントロールを追加しました:しかし

namespace RDConnector 
{ 
    public partial class Form1 : Form 
    {  
     const string server = "55.55.55.555"; 
     const string userNameBase = "username"; 
     const string passwordBase = "password"; 

     public Form1() 
     { 
      InitializeComponent(); 
     } 

     private void button1_Click(object sender, EventArgs e) 
     { 
      try 
      { 
       rdClient.Server = server; 
       rdClient.UserName = userNameBase;  

       /*IMsTscNonScriptable secured = (IMsTscNonScriptable)rdClient.GetOcx(); 
       secured.ClearTextPassword = passwordBase;*/ 

       rdClient.AdvancedSettings8.DisplayConnectionBar = true; 
       rdClient.AdvancedSettings8.ClearTextPassword = passwordBase; 
       rdClient.AdvancedSettings8.EncryptionEnabled = -1;     

       //// Start connection 
       rdClient.Connect(); 
       MessageBox.Show("Connection Status + " + rdClient.Connected.ToString()); 

      } 
      catch (Exception Ex) 
      { 
       MessageBox.Show("Exception ocurred: " + Ex.Message); 
      } 
     } 
    } 
} 

を、そうではありません作業中、rdClient.Connect()を呼び出した後の接続状態は2(呼び出し前は0)ですが、何も起こりません。私も例1を実行したが動作しません。

私はWindows 7 - 64ビットとVisual Studio C#Expressを使用しています。 Visual Express EditionにはX64コンパイラがありません。問題はそれに関連していますか?

本当にありがとうございます。

例:

  1. http://www.codeproject.com/KB/cs/RemoteDesktop_CSharpNET.aspx

  2. Running COM component controls on multiple threads

+0

これは私が同じプログラムをwindows7-x64上で実行しますが、VisualStudioからx86用にコンパイルすると機能します。 接続すると、rdClient.Connectは接続解除時に1、0になります – Klaus78

+0

コードは完全に問題ありません。サーバー名に問題がある可能性があります。 IPアドレスの代わりに{{MachineName.DomainName}}を使用して試すことができます。 –

+0

これはこれまでに答えられましたか?私は今同じ船にいる –

答えて

1

私は最後に問題を発見しました。 COMコンポーネントを選択する場合は、「Microsoft RDP Client Control - version x」を選択します。私は完全に私のために動作する8バージョンを選択します。

関連する問題