2013-04-10 8 views
1

C#의 JScript.NET에 새로 추가 된 ActiveXObject()이라는 기능을 사용하려고합니다. 어떻게해야합니까?C# JScript의 새 ActiveXObject와 같습니다.

그리고 COM 개체로 할 수있는 일은 C#에서 할 수 있다고 말하지 마십시오. 그런 식으로하고 싶다면 이미 가질 것입니다.

+1

을 난 당신이 단순히 참조 추가 대화 상자에서 COM DLL을 참조하는 생각 및 Visual Studio는 당신을 위해 래퍼를 생성합니다. 래퍼에서 인스턴스화 할 수있는 클래스를 찾을 수 있습니다. –

+0

메모장을 사용하여이 작업을 수행하는 방법은 무엇입니까? 나는하지 말아야한다는 것을 압니다. – Bob

+0

배관을 너무 많이하여 VS를 사용하는 것이 좋습니다. 무료 버전 (아마 SharpDevelop 또는 Mono가 도움이 될 수 있습니다) 중 하나로 전환하더라도 –

답변

6

당신은

Activator.CreateInstance(Type.GetTypeFromProgID(ProgID)) 

를 사용하여 COM 객체의 인스턴스를 생성 한 후 후기 바인딩을 사용하여 작업 할 수 있습니다. C#을 4의 dynamic 키워드를 사용하여

using System.Reflection; 
... 

Type wshType = Type.GetTypeFromProgID("WScript.Shell"); 
object wshShell = Activator.CreateInstance(wshType); 
wshType.InvokeMember("Popup", BindingFlags.InvokeMethod, null, wshShell, new object[] {"Hello, world!"}); 

나 : 예를 들어

// NB: Add reference to Microsoft.CSharp.dll 
dynamic wshShell = Activator.CreateInstance(Type.GetTypeFromProgID("WScript.Shell")); 
wshShell.Popup("Hello, world!"); 
+0

내가 찾고있는 것. – Bob

+0

다이내믹 한 대우! – fkerrigan