보관함

CHtmlView의 C++에서 생성한 JScript를 모든 Frame에 대해 Inject하여 실행하기

출처] http://greenfishblog.tistory.com/46

CHtmlView(CDHtmlDialog, CHtmlDialog)등에서 HTML을 로드하여 실행하게 됩니다.
혹시 이런 생각을 해보신적 있는지요?

기존 HTML 소스에 동적으로 JScript를 추가하고, 그 함수를 호출받고 싶다…
단, 추가할 JScript 소스는 C++에서 명시적으로 정의한다.

즉, 동일한 URL에 대해 기존의 일반 웹 브라우저와 조금 다른 웹(즉, 뭐.. 화면 상단에 강제적인 버튼 추과와 그 처리등등…)을 표현하고 싶다.
즉, C++에서 DocumentComplete Timing때, C++에서 정의한 JScript 함수를 넣는다. Body OnLoad()에 그 함수를 대체해서 넣는다. 즉, 기존 Html이

와 같이 수정하면, inject()가 실행될 것입니다.
즉, C++의 DocumentComplete에서,

를 호출하는 것입니다.
이를 위한 소스 코드를 아래와 같이 공유합니다.
사용은 CHtmlView의 OnDocumentComplete나 DocumentComplete 때 아래 함수를 호출하면 됩니다.
(view plain을 누르시면 코드 확인이 쉽습니다.)

outlook내 icloud내 연락처의 표시방법 변경

openvpn 설치

yum install openvpn

그러면 설치가 완료된다. ㅋㅋ

이제 CA 인증서를 생성하고 Server 인증서를 생성하고 Client에서 사용할 인증서를 생성하고 서버와 클라이언트에 환경파일을 맞춰 준후에 재시작하면 된다.

먼저 /usr/share/doc/openvpn-X.X.X/easy-rsa/2.0 에 vars 파일 가장 아래쪽 인증서 구성한후

로 환경구성

1-1. CA 인증서 생성

1-2. Server 인증서 생성

1-3. 클라이언트 인증서 생성

1-4. 그 뒤에아래 Command로 인증서 생성 마무리

2-1. 서버 환경파일 편집 /etc/openvpn/server.conf

2-2 서버 환경 폴더에 필요한 파일들

2-3 마지막 selinux 설정

2-4 클라이언트 환경파일 편집 C:Program FilesOpenVPNconfigclientovpn

2-5 클라이언트 환경 폴더에 필요한 파일들

3-1. Ubuntu 에서 변경

로 변경