「C#からCOMを呼び出す」の編集履歴(バックアップ)一覧はこちら
C#からCOMを呼び出す - (2010/02/09 (火) 01:54:10) の1つ前との変更点
追加された行は緑色になります。
削除された行は赤色になります。
.NET Frameworkには、これまで広く使われてきたCOMとの連携機能も追加されています。
この機能は「COM相互運用機能」と呼ばれ双方向に対応しており、C#,VB.NETからCOMを呼び出すことも、COMからC#,VB.NETを呼び出すことも可能となっています。
*C#からCOMオブジェクトを呼び出す
ここではWindowsに用意されているCOMオブジェクトのうち、シェル(エクスプローラ)の機能を呼び出すことが可能なShellオブジェクトを呼び出してみます。
+[ファイル]-[新規作成]-[プロジェクト]を選択し、プロジェクトの種類は「Visual C#」、テンプレートは「コンソールアプリケーション」を選択します。&br()&image(NewProject.jpg,title=プロジェクト作成)&br()
+ソリューションエクスプローラの参照設定にて右クリックし、[参照の追加]を押します。
+参照の追加 の画面にて、COMタブを選択し、「Microsoft Shell Controls And Automation」を選択し[OK]を押します。&br()&image(shell32.jpg,title=Microsoft Shell Controls And Automation)&br()
+Mainメソッドにて以下のように記述を追加し、指定パスのエクスプローラを開くOpenメソッドを呼び出します。&br()
#highlight(csharp){{
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
Shell32.Shell shell = new Shell32.Shell();
shell.Open("c:\\");
}
}
}
}}&br()作成したプロジェクトを実行すると、エクスプローラが表示されます。
.NETからCOMオブジェクトにアクセスする際は、直接アクセスは出来ず、仲介するラッパを介してアクセスをします。
このラッパは相互運用機能アセンブリと呼ばれ、.NETとCOMの間を仲介します。
3で参照設定としてShellオブジェクトを追加した際、Interop.Shell32.dllという名前のファイルが、作成したexeファイルと同じフォルダ内に自動生成されています。
このファイルが相互運用機能アセンブリにあたります。
COMは長く使用されてきたため、現在も数多くのCOMコンポーネントがWindowsでは使用されています。
そのため、.NET FrameworkにはCOMとの連携機能が追加されています。
この機能は「COM相互運用機能」と呼ばれ双方向に対応しており、C#,VB.NETからCOMを呼び出すことも、COMからC#,VB.NETを呼び出すことも可能となっています。
*C#からCOMオブジェクトを呼び出す
ここではWindowsに用意されているCOMオブジェクトのうち、シェル(エクスプローラ)の機能を呼び出すことが可能なShellオブジェクトを呼び出してみます。
+[ファイル]-[新規作成]-[プロジェクト]を選択し、プロジェクトの種類は「Visual C#」、テンプレートは「コンソールアプリケーション」を選択します。&br()&image(NewProject.jpg,title=プロジェクト作成)&br()
+ソリューションエクスプローラの参照設定にて右クリックし、[参照の追加]を押します。
+参照の追加 の画面にて、COMタブを選択し、「Microsoft Shell Controls And Automation」を選択し[OK]を押します。&br()&image(shell32.jpg,title=Microsoft Shell Controls And Automation)&br()
+Mainメソッドにて以下のように記述を追加し、指定パスのエクスプローラを開くOpenメソッドを呼び出します。&br()
#highlight(csharp){{
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
Shell32.Shell shell = new Shell32.Shell();
shell.Open("c:\\");
}
}
}
}}&br()作成したプロジェクトを実行すると、エクスプローラが表示されます。
.NETからCOMオブジェクトにアクセスする際は、直接アクセスは出来ず、仲介するラッパを介してアクセスをします。
このラッパは相互運用機能アセンブリと呼ばれ、.NETとCOMの間を仲介します。
3で参照設定としてShellオブジェクトを追加した際、Interop.Shell32.dllという名前のファイルが、作成したexeファイルと同じフォルダ内に自動生成されています。
このファイルが相互運用機能アセンブリにあたります。