質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
COM

COM(Component Object Model)はMicrosoftによるコンポーネントテクノロジーであり、 ソフトウェアの再利用を目的とした技術を指します。

C#

C#はマルチパラダイムプログラミング言語の1つで、命令形・宣言型・関数型・ジェネリック型・コンポーネント指向・オブジェクティブ指向のプログラミング開発すべてに対応しています。

Visual Studio

Microsoft Visual StudioはMicrosoftによる統合開発環境(IDE)です。多種多様なプログラミング言語に対応しています。

Windows Forms

Windows Forms(WinForms)はMicrosoft .NET フレームワークに含まれる視覚的なアプリケーションのプログラミングインターフェイス(API)です。WinFormsは管理されているコードの既存のWindowsのAPIをラップすることで元のMicrosoft Windowsのインターフェイスのエレメントにアクセスすることができます。

.NET Framework

.NET Framework は、Microsoft Windowsのオペレーティングシステムのために開発されたソフトウェア開発環境/実行環境です。多くのプログラミング言語をサポートしています。

Q&A

1回答

5699閲覧

Windows Form リモートデスクトップクライアント コントロール

X7skyn8h

総合スコア10

COM

COM(Component Object Model)はMicrosoftによるコンポーネントテクノロジーであり、 ソフトウェアの再利用を目的とした技術を指します。

C#

C#はマルチパラダイムプログラミング言語の1つで、命令形・宣言型・関数型・ジェネリック型・コンポーネント指向・オブジェクティブ指向のプログラミング開発すべてに対応しています。

Visual Studio

Microsoft Visual StudioはMicrosoftによる統合開発環境(IDE)です。多種多様なプログラミング言語に対応しています。

Windows Forms

Windows Forms(WinForms)はMicrosoft .NET フレームワークに含まれる視覚的なアプリケーションのプログラミングインターフェイス(API)です。WinFormsは管理されているコードの既存のWindowsのAPIをラップすることで元のMicrosoft Windowsのインターフェイスのエレメントにアクセスすることができます。

.NET Framework

.NET Framework は、Microsoft Windowsのオペレーティングシステムのために開発されたソフトウェア開発環境/実行環境です。多くのプログラミング言語をサポートしています。

0グッド

0クリップ

投稿2018/11/02 19:57

編集2022/01/12 10:55

お世話になります。

前提・実現したいこと

Windows Formにて、リモートデスクトップコントロールを貼りたいがエラーになる。
エラーになる条件は2つ
1、 Microsoft RDP Client Control version 11 をウィンドウズフォームに貼る
2、 Build 時のPlatform targetをx64にし、Microsoft RDP Client Control version 10を貼る

最終的に1が解決できれば助かりますが、2の解決方法だけでも助かります。

発生している問題・エラーメッセージ

Failed to create component 'Axhost'. The error message follows: 'System.Runtime.InteropService.COMException (0x80040111): ClassFactory cannot supply requested class (Exception from HRESULT: 0x80040111(CLASS_E_CLASSNOTAVAILABLE)' at System.Windows.Forms.Design.Documentdesigner.AxToolBoxItem.CreateComponentsCore(IDesignerHost host)

該当のソースコード

特になし

試したこと

Build 時のPlatform targetをAny CPUにし、Microsoft RDP Client Control version 10を貼る場合はOK
エラーコードでググる
-> 調べた結果Flashのコンポーネントなどをレジストリ登録するなど見ましたが、今回のものとはケースが違う気がして、
よくわからなかった。
-> また、以下のリファレンスなどを調べたが、DLL使用条件や設定手順などは見当たらなかった
https://docs.microsoft.com/en-us/windows/desktop/termserv/remote-desktop-activex-control-reference

最新のWinSDK、 .NETを使用してみる
最新のMicrosoft RDP Client Control は11で、これのみWindows10対応であった。

手順
1 プロジェクトプロパティから、buildを選択し、platform のプルダウンからx64を選択
2 tools -> choose ToolBox Itemsから、COM Componentsのタブを選択し
3 Microsoft RDP Client Control -version 11にチェック
4 それをウィンドウズフォームに貼り付ける
5 ここでエラー

補足情報(FW/ツールのバージョンなど)

Visual Studio 2017 Enterprise / DotNet 4.7.2
Windows10 Professional

何かアドバイス等あれば、ご教授願います。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

DllGetClassObject function

Return Value
CLASS_E_CLASSNOTAVAILABLE

The DLL does not support the class (object definition).

レジストリで指定された DLL に目的の COM を実装するコードが無いというエラーだそうです。
Microsoft RDP Client Control の最新版があるか、インストールできるか、という方面からアプローチするのが良いかもしれません。

あと、試したことに「ググる」というのがありますが、ググった場合にはその結果を書きましょう。一人で調査して調査結果を捨てるのではなく、情報を共有した方が早く解決します。

投稿2018/11/03 03:18

Zuishin

総合スコア28656

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

X7skyn8h

2018/11/03 03:39

回答ありがとうございます。アドバイスに従い、調査した内容を追加しました。Microsoft RDP Client Controlはバージョン11でそれが、エラーになる状況です
X7skyn8h

2018/11/05 22:15

回答ありがとうございます。上記を直ちに行うのではなく、windows10 Enterprise 2016 build 14393.rs1_release160715-1616で試しました。結果は同じエラーでした。まだ、解決策を探しています
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問