vs 2019 Com 구성 요소 초기 탐색 의 간단 한 COM 작성 및 크로스 언어 호출 방법

전제 조건
1.C++기초 문법 습득
2.플랫폼 설치 vs 2019
3.로 컬 플랫폼 은 windows 10 1909 X64
4.vbs 기초 문법 이해
이번 목표
1.Com 구성 요소 의 개념 과 원 리 를 파악 한다.
2.DLL 형식 으로 간단하게 보 여 주 는 Com 구성 요 소 를 작성 합 니 다.
3.VBS 를 통 해 크로스 언어 호출 COM 실현
1.Com 구성 요소 개념 및 원리
COM 이란 무엇 인가:
바 이 두 백과 인용:COM component(COM 구성 요소)는 마이크로소프트 가컴퓨터 산업소프트웨어 생산인간 에 게 더욱 부합 되 는행동 양식개발 을 위 한 새로운 소프트웨어 개발 기술 이다.COM 구조 에서 사람들 은 다양한 기능 이 하나의 구성 요 소 를 개발 한 다음 에 필요 에 따라 조합 하여 복잡 한 응용 시스템 을 구성 할 수 있다.이 로 인해 가 져 온 장점 은 여러 가지 이다.시스템 중의구성 요소를 새로운 것 으로 교체 하여 수시로 시스템 의 업그레이드 와 맞 춤 형 제작 을 할 수 있다.여러 응용 시스템 에서 같은 구성 요 소 를 반복 적 으로 사용 할 수 있 습 니 다.응용 시스템 을 네트워크 환경 으로 편리 하 게 확장 할 수 있 습 니 다.COM 과 언어,플랫폼 무관의 특성 으로 인해 모든프로그래머이 자신의 재능 과 특 기 를 충분히 발휘 하여 구성 요소 모듈 을 작성 할 수 있 습 니 다.
(개인 적 인 이해:come 구성 요 소 는 표준 입 니 다.이 기준 에 따라 개 발 된 구성 요 소 는 COM 구성 요소 입 니 다.마찬가지 로 모든 언어 가 이 기준 을 따 르 면 이 구성 요 소 를 호출 할 수 있 습 니 다.한편,come 구성 요 소 는 본질 적 으로 바 이 너 리 실행 파일 이 고 come 은 DLL 또는 EXE 형식 으로 발표 되 었 습 니 다)
ATL 이란 무엇 입 니까?
바 이 두 백과 참조:ATL 은 ActiveX Template Library 의 줄 임 말 로 C+템 플 릿 라 이브 러 리 입 니 다.ATL 을 사용 하면 효율 적 이 고 간결 한 코드(Effective and Slim code)를 신속하게 개발 할 수 있 고 COM 구성 요소 의 개발 에 최대한 의 코드 자동 생 성 및 시각 화 지원 을 제공 할 수 있다.편리 하 게 사용 하기 위해 MicrosoftVisual C++5.0 버 전부터 Microsoft 는 ATL 을 Visual C++개발 환경에 통합 했다.1998 년 9 월 출시 된 비 주 얼 스튜디오 6.0 은 ATL 3.0 버 전 을 통합 했다.ATL 은 이미 Microsoft 표준 개발 도구 중의 중요 한 구성원 이 되 어 C+개발 자의 중 시 를 받 고 있다.
(개인 적 인 이해:ATL 은 마이크로소프트 가 발표 한 C+템 플 릿 의 목적 은 COM 프로 그래 밍 을 간소화 하기 위 한 것 이다)
ActiveX 가 무엇 입 니까?
바 이 두 백과 인용:ActiveX 는Microsoft일련의 전략 성대상 지향 프로그램기술 과 도구 에 대한 호칭 으로 그 중에서 주요 한 기술 은구성 요소 개체 모델(COM)이다.디 렉 터 리 와 다른 지원 이 있 는 네트워크 에서 COM 은 분포 식 COM(DCOM)으로 바 뀌 었 다.ActiveX 컨트롤 은 인터넷 에 사용 되 는 아주 작은 프로그램 으로 때로는플러그 인 프로그램이 라 고 부른다.Microsoft Update 에 보안 업 데 이 트 를 설치 하 는 등 애니메이션 을 재생 하거나 작업 을 수행 하 는 데 도움 을 줄 수 있 기 때문에 탐색 체험 을 강화 할 수 있 습 니 다.ActiveX 프로그램 을 만 들 때 주요 작업 은 구성 요소 입 니 다.ActiveX 네트워크(Windows,Mac,Linux)에서 마음대로 실행 할 수 있 는 프로그램 입 니 다.이 구성 요소 가 바로 ActiveX 컨트롤 입 니 다.ActiveX 는 Microsoft 가 Sun Microsystems 의 JAVA 기술 에 맞 서기 위해 제시 한 것 으로 이 컨트롤 의 기능 은 자바 애플 트 기능 과 유사 하 다.
(개인 적 인 이해:ActiveX 는 Com 구성 요소 집합 이름 이 고 주로 웹 에 사용 되 며 본질 적 으로 COM)여기 서 인용360 백과하 는 단어 입 니 다.
2.간단 한 Com 구성 요 소 를 작성 합 니 다.
VS 2019 ATL 템 플 릿 기반 새 항목 다음 단계
  
항목 이름 을 설정 하고 만 듭 니 다.
    
ATL 항목 속성 설정(여기.dll 기반 설정)
  
'구성 요소 등록 지원'은 컴 파일 이 끝나 면 자동 으로 구성 요소 등록 을 하 는 것 을 말 합 니 다.
선택 후 확인 을 클릭 하고 생 성 완료 대기
  
완료 되면 ComTest 와 ComTestPs 가 나 옵 니 다.PS 는 신경 쓰 지 마 세 요.
  
ComTest 를 누 르 면 시스템 에서 자동 으로 생 성 된 헤더 파일 과 원본 파일 을 볼 수 있 습 니 다.
    
새로운 ATL 대상 추가
ComTest 새 항목 오른쪽 단추->추가->새 항목
  
ComTest 에"ATL 단순 대상"을 새로 만 들 고 추 가 를 누 르 십시오.
  
짧 은 이름 을 Temp 로 설정 하면 다른 것 은 자동 으로 채 워 집 니 다.
프로젝트 이름+"."+짧 은 이름 으로 ProgID 설정(ComTest.Temp)
파일 형식 및 기타 기본 값 을 누 르 면 완 료 됩 니 다.
여 기 는 두 개의 값 을 주의해 야 한다.
ProgID 는 이후 vbs 및 기타 언어 호출 구성 요소 에 필요 한 이름 입 니 다.
인터페이스 ITemp 은 나중에 idl 에서 찾 을 인터페이스 이름 을 설정 합 니 다.
  
완료 후 ComTest 에서 Temp.h 및 Temp.cpp 를 자동 으로 추가 하고 CTemp 클래스 를 생 성 합 니 다.
  
  
지금 저희 만 의 방법 을 만 들 수 있 습 니 다.
Temp.h 헤더 파일 에 CTemp 에 함수 설명 추가

Temp.cpp 파일 에서 이 함수 구현
  
특히
  __result 는 포인터 로 되 돌아 가 야 합 니 다.
return 기본 값 SOK 실행 성공 표시
방법 을 정의 한 후 ComTest.idl 을 엽 니 다.
우리 가 ATL 단순 대상 을 만 들 때 설정 한'짧 은 이름'을 기억 하 십 니까?(ITemp 자동 명명 규칙 은 I+짧 은 이름)
이 인터페이스 찾기 ITemp:IDispatch

interface ITemp:IDispatch 에 쓰기

[in]입력[out]은 출력[retval]을 외부 에 반환 값 으로 표시 합 니 다.
특히 retval 은 하나 밖 에 없어 야 하고 out 뒤 를 따라 가 야 합 니 다.
이상 은 ComTest 구성 요소 의 모든 내용 을 썼 습 니 다.
생 성 된 자릿수 x64 단축 키 Ctrl+b 를 선택 하여 dll 생 성
  
여기 서 생 성 오류 가 보 입 니 다.
신경 쓰 지 마 세 요.저희 프로젝트 목록 을 열 어 주세요.

생 성 을 위 한 첫 번 째 ComTest.dll 을 볼 수 있 습 니 다.다음 에 Com 구성 요 소 를 등록 하 십시오.
여기 파일 두 개 주의 하 세 요.
ComTest.dll 은 Com 구성 요소 본체 입 니 다.
ComTest.tlb 는 다음 C++에서 Com 을 호출 하 는 데 필요 한 파일 입 니 다.

관리자 권한 cmd 또는 powershell 열기
dll 에 존재 하 는 디 렉 터 리 에 들 어 갑 니 다.
DLL 등록 명령 을 입력 하 십시오.
  
입력 후 이미 성공
관리자 권한 으로 등록 을 시도 하지 못 하면
  
3.VBS 를 통 해 크로스 언어 호출 COM 실현
vbs 코드 ComTest.Temp 를"ATL 단순 대상"으로 설정 한"ProgID"를 만 들 고 Number 는 클래스 의 함수 이름 입 니 다.
  
저장 및 실행 성공
  
주의사항:
vbs 호출 된 com 은 IDispatch 인터페이스 여야 합 니 다.
vs 2019 ATL 기본 값 계승 IDispatch 인터페이스
Com 구성 요 소 는 등록 후 VBS 에서 호출 할 수 있 습 니 다.
Github 소스 주소
   3065190005/ComTest: ComTest Code (github.com)
vs 2019 Com 구성 요소 에 대한 간단 한 COM 작성 및 크로스 언어 호출 방법 에 관 한 이 글 은 여기까지 소개 되 었 습 니 다.더 많은 vs 2019 Com 구성 요소 내용 은 우리 의 이전 글 을 검색 하거나 아래 의 관련 글 을 계속 찾 아 보 세 요.앞으로 도 많은 지원 바 랍 니 다!

좋은 웹페이지 즐겨찾기