C ++ 또는 C를 사용하여 응용 프로그램의 COM 인터페이스에 액세스

StackOverflow https://stackoverflow.com/questions/410184

  •  03-07-2019
  •  | 
  •  

문제

질문에 응답하여 어떻게 (또는 더 많은 정보를 찾을 수 있습니까? 자동화 확실한 기능 사용자 개입없이 C ++ (또는 C)에서 다음을 사용합니다.

  • ATL
  • 또는 C/C ++에서 직접 자동화 코드

문안 인사

도움이 되었습니까?

해결책

응용 프로그램이 유형 라이브러리 (및 Microsoft Office 응용 프로그램)를 노출하면 #import 키워드를 사용하여 Microsoft C ++에서 얻을 수 있습니다. 이렇게하면 응용 프로그램에서 노출 된 COM 인터페이스에 대한 C ++ 랩퍼가 생성됩니다.

유형 라이브러리는 종종 .tlb 파일이지만 실행 파일의 Win32 리소스로 정기적으로 포함됩니다.

애플리케이션이 이러한 방식으로 기능을 노출하는지 확인하려면 라이브러리를 발견 (및 이해)하는 것이 매우 복잡하기 때문에 특정 응용 프로그램의 문서를 참조해야 할 것입니다.

Windows SDK에는 레지스트리 또는 .tlb 파일 또는 리소스의 COM 객체에 대한 타입 브러리 정보를 표시 할 수있는 도구 인 "OLE/COM VIEWER"가 포함되어 있습니다.

응용 프로그램을 사용하려면 vbscript (또는 jscript)가 빠르게 실험 할 수있는 방법을 제공합니다. 둘 다 OLE 자동화 인터페이스를 소비 할 수 있습니다.

다른 팁

Automate는 응용 프로그램을 실행하고 커뮤니케이션하고 일부 기능을 수행하는 스크립트를 가질 수 있음을 의미합니다. 일종의 자동 테스트 스크립트 또는 그와 비슷한 것과 같은 것.

가장 간단한 방법 (Word, Excel, Visual Studio 등과 같이 응용 프로그램이 이미 존재하는 경우)은 DCOM을 지원하는 언어 (Win32ole 라이브러리와 같은 Ruby)를 지원하는 언어로 스크립트를 작성하고이를 사용하여 호출하는 것입니다. 신청.

응용 프로그램을 개발하는 경우 더 까다로워지면 기존 스크립팅 언어를 실행 파일에 포함시켜 인터페이스에 연결할 수있는 방법을 제공 할 수 있습니다. 아마도 응용 프로그램의 컨텍스트 내에서 스크립트를 자동으로 실행할 수있는 명령 줄 옵션이있을 수 있습니다. 또는 심각한 개발 작업을하고 싶다면 DCOM을 추가하려고 시도 할 수 있습니다 (이 작업을 시도하지 않았으므로 얼마나 많은 작업이 관련되어 있는지 모르겠습니다).

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top