Windows Forms ActiveX 컨트롤 가져오기(Aximp.exe)

ActiveX 컨트롤 가져오기를 사용하면 ActiveX 컨트롤에 대한 COM 형식 라이브러리의 형식 정의를 Windows Forms 컨트롤로 변환할 수 있습니다.

Windows Forms은 Windows Forms 컨트롤, 즉 Control에서 파생된 클래스만 호스팅할 수 있습니다. Aximp.exe를 사용하여 Windows Form에서 ActiveX 컨트롤을 호스팅할 수 있도록 ActiveX 컨트롤에 대한 래퍼 클래스를 생성합니다. 이렇게 하면 다른Windows Forms 컨트롤에 사용할 수 있는 것과 동일한 디자인 타임 지원 및 프로그래밍 방법을 사용할 수 있습니다.

ActiveX 컨트롤을 호스팅하려면 AxHost에서 파생된 래퍼 컨트롤을 생성해야 합니다. 이 래퍼 컨트롤에는 내부 ActiveX 컨트롤의 인스턴스가 들어 있으며, ActiveX 컨트롤과 통신할 수는 있지만 Windows Forms 컨트롤로 나타납니다. 이렇게 생성된 컨트롤은 ActiveX 컨트롤을 호스팅하며, 해당 속성, 메서드 및 이벤트를 생성된 컨트롤의 속성, 메서드 및 이벤트로 표시합니다.

aximp [options]{file.dll | file.ocx}

설명

인수 설명

file

변환할 ActiveX 컨트롤이 들어 있는 소스 파일의 이름입니다. file 인수의 확장명은 .dll 또는 .ocx이어야 합니다.

옵션 설명

/delaysign

Aximp.exe에서 지연 서명을 사용하여 결과 컨트롤에 서명하도록 지정합니다. /keycontainer:, /keyfile: 또는 /publickey: 옵션과 함께 이 옵션을 지정해야 합니다. 서명 연기 프로세스에 대한 자세한 내용은 어셈블리 서명 연기를 참조하십시오.

/help

이 도구의 명령 구문 및 옵션을 표시합니다.

/keycontainer: containerName

containerName에서 지정한 키 컨테이너에 있는 공개/개인 키 쌍을 사용하여 강력한 이름으로 결과 컨트롤에 서명합니다.

/keyfile: filename

filename에 있는 게시자의 공식 공개/개인 키 쌍을 사용하여 강력한 이름으로 결과 컨트롤에 서명합니다.

/nologo

Microsoft 시작 배너를 표시하지 않습니다.

/out: filename

만들 어셈블리의 이름을 지정합니다.

/publickey: filename

filename에서 지정한 파일에 있는 공개 키를 사용하여 강력한 이름으로 결과 컨트롤에 서명합니다.

/silent

성공 메시지를 표시하지 않습니다.

/source

Windows Forms 래퍼에 대한 C# 소스 코드를 생성합니다.

/verbose

세부 정보 표시 모드를 지정합니다. 즉, 추가 진행 정보를 표시합니다.

/?

이 도구의 명령 구문 및 옵션을 표시합니다.

Aximp.exe를 사용하면 전체 ActiveX 컨트롤 형식 라이브러리를 한꺼번에 변환하고, 공용 언어 런타임 메타데이터가 들어 있으며 원본 형식 라이브러리에 정의된 형식의 구현을 제어하는 어셈블리를 생성할 수 있습니다. 이렇게 생성된 파일의 이름은 다음 패턴에 따라 지정됩니다.

COM 형식을 위한 공용 언어 런타임 프록시: progid.dll

ActiveX 컨트롤을 위한 Windows Forms 프록시(여기서 Ax는 ActiveX를 의미함): Axprogid.dll

참고

ActiveX 컨트롤의 멤버 이름이 .NET Framework에 정의된 이름과 일치하는 경우 Aximp.exe에서 AxHost 파생 클래스를 만들 때 해당 멤버 이름 앞에 "Ctl"이 붙습니다. 예를 들어, ActiveX 컨트롤에 이름이 "Layout"인 멤버가 있을 경우 .NET Framework에 Layout이라는 이벤트가 이미 정의되어 있으므로 AxHost 파생 클래스에서 이 멤버의 이름이 "CtlLayout"으로 변경됩니다.

생성된 파일은 MSIL 디스어셈블러(Ildasm.exe)와 같은 도구를 사용하여 검사할 수 있습니다.

ActiveX 컨트롤인 shdocvw.dll을 통해 Aximp.exe를 실행시키면 도구가 실행되는 디렉터리에 shdocvw.dll이라는 다른 파일이 만들어집니다. 이렇게 생성된 파일이 Documents 및 Settings 디렉터리에 있으면 Microsoft Internet Explorer 및 Windows 탐색기에 문제가 발생합니다. 컴퓨터가 다시 부팅되면 Windows는 system32 디렉터리보다 Documents 및 Settings 디렉터리에서 먼저 shdocvw.dll 복사본을 찾습니다. 그러면 Documents 및 Settings의 복사본을 사용하여 관리되는 래퍼를 로드하려고 시도합니다. Internet Explorer 및 Windows 탐색기는 system32 디렉터리에 있는 shdocvw.dll 버전의 렌더링 엔진에 따라 작동하므로 이 경우 제대로 작동하지 않게 됩니다. 이러한 문제가 발생하면 Documents 및 Settings 디렉터리에 있는 shdocvw.dll 복사본을 삭제한 다음 컴퓨터를 다시 부팅합니다.

예제

다음 명령을 사용하여 미디어 플레이어 컨트롤 msdxm.ocx를 위한 MediaPlayer.dll 및 AxMediaPlayer.dll을 생성합니다.

aximp c:\systemroot\system32\msdxm.ocx

참고 항목

참조

.NET Framework 도구
MSIL 디스어셈블러(Ildasm.exe)