Windowsにはリモートデスクトップ接続が付属していますが、私たちはリモートデスクトップを自社ソフトウェアに統合し、二次開発作業を行い、リモートサーバーをバッチで管理したいと考えています。
レンダリングは以下の通りです:
リモートデスクトップコアライブラリ
Windowsシステムにはリモートデスクトップのactivex dll、ディレクトリが付属しています:
このようなライブラリはC#で直接呼び出すことはできず、AxImp.exeで変換する必要があります。
Windows Forms ActiveX Control Importer (Aximp.exe)
ActiveX Control Importerは、ActiveXコントロールのCOMタイプライブラリからWindows Formsコントロールにタイプ定義を変換します。
Windows FormsはWindows Formsコントロールのみをホストでき、Controlから派生するクラスです。 Aximp.exe Windows FormsのActiveXコントロールにホスト可能なラッピングクラスを生成します。 これにより、他のWindowsフォームコントロールに適用できるのと同じ設計時サポートやプログラミング手法を利用できます。
ActiveXコントロールをホストするには、AxHostから派生したラッパーを生成する必要があります。 このラッパーコントロールには、基盤となるActiveXコントロールのインスタンスが含まれています。 ActiveXコントロールとの通信は分かっていますが、Windows Formsコントロールとして表示されます。 このビルドコントロールはActiveXコントロールをホストし、そのプロパティ、メソッド、イベントをビルドコントロールのプロパティとして公開します。
コマンドは以下の通りです:
最終的な結果は:AxMSTSCLib.dll、MSTSCLib.dllファイルになります
新しいRemotePlus .NET 4.7.2 WinFormプロジェクトを作成し、生成後に2つのDLLを参照します。 (MSTSCLib.dll 埋め込みの相互運用型をfalseに設定する必要があります)
主にサーバーアドレス、アカウント、パスワード、その他の情報を記入した新しいfrmLogin.csフォームを作成します。
埋められたリモートデスクトップ情報は最終的にメインフォームに渡されます。
主なコードは以下の通りです:
最後にソースコードを添付します:
観光客の皆さん、この投稿の隠された内容を見たい方は、どうぞ 答える
|