C# を使用してプログラム内から CorelDRAW を開こうとしています。これまでのところ、適切なcomライブラリを参照して呼び出すことでこれを行うことができました
CorelDRAW.Application draw = new CorelDRAW.Application();
draw.Visible = true;
ただし、相互運用をサポートする CorelDRAW の任意のバージョンでプログラムを動作させたいと考えています。リフレクションを使用して、実行時に相互運用ライブラリをロードしようとしています。ここでは、正しいバージョンの特定の dll を選択できます。周りを見て、私は次のことを試しました。
string path = "Interop.CorelDRAW.dll";
Assembly u = Assembly.LoadFile(path);
Type testType = u.GetType("CorelDRAW.Application");
if (testType != null)
{
object draw = u.CreateInstance("CorelDRAW.Application");
FieldInfo fi = testType.GetField("Visible");
fi.SetValue(draw, true);
}
クラスではなくインターフェイスであるu.CreateInstance...
ため、プログラムは失敗します。また、Interop.CorelDRAW をリソースとして参照するときに利用できるものにCorelDRAW.Application
置き換えようとCorelDRAW.Application
しましたが、失敗します。CorelDRAW.ApplicationClass
u.getType...
どうすればこれを機能させることができますか? ありがとうございました!