강좌 / 팁

소프트웨어 VBScript 기능 확장하기 개요 - API, COM server

2020.03.24 22:57

지후빠 조회:1143 추천:9

안녕하세요? 96년, 2006년에 필요한 것 만들기 위해 정보를 모으다 엑셀 VBA에서는 왠만큼 해결이 되어서 잊고 살았는데,

최근 VBScript 한번씩 만지면서 필요한 것 찾다가 몇가지 정리되어서 팁으로 올립니다. 좀 더 정리되면 올릴려고 했는데, 

https://windowsforum.kr/gallery/13093568 댓글에 언급을 해서 궁금해 하실까봐 하나씩 올리겠습니다.

 

1. 필요성과 종류

 

VBScript에서 보안 등의 이유로 제약 사항들이 있습니다. Win32API 호출이나 내장 함수의 부재 등 인데요. 오래전 관심 갖었을때

DynaCall(DynamicWrapper) 등이 있었는데 그땐 사용할 줄 몰라서 못했고, 지금은 최신 OS에 호환이 안되는 것 같습니다.

API 호출하는 방법은 「DynamicWrapper」「SFC mini」「Excel」3가지 정도 알고 있었는데 최근 DynaLib을 찾았습니다.

- 3가지 정보 링크; http://cx20.main.jp/blog/hello/2012/04/20/hello-win32-api-vbscript-world/

- Excel4Macro 예제로는 https://windowsforum.kr/lecture/13071150 댓글에 올렸습니다.

- win32api는 이해가 부족하여 편하게 사용할 성질의 것은 못되는 것 같습니다. SFC mini 한번 살펴보고 이쪽은 접어야 겠습니다.

 

또, 전문가가 아니면 API 호출에서 Argument를 넘겨 주고 Return을 받기가 쉽지가 않습니다. 그래서 중간 다리 역활을 하는

COM Server들이 있습니다. 찾아 보면 많은 것이 있겠지만 VBScript 용도로는 몇 없고, 다음과 같은 것이 있습니다.

- Vbsedit 설치하면 기본으로 설치되는 Toolkit; https://helloacm.com/vbsedit-toolkit-extends-vbscript/

- vbsedit32.dll vbsedit64.dll 최신 버전은 Vbsedit 설치 폴더에 있습니다.

 

추가로 VBScript 형태로 확장할 수 있는 Function, Sub, Class 등이 있습니다.

- 예; https://gist.github.com/simply-coded , mshta.exe 로 구현한 클립보드 함수들은 완전하지 못한 것 같습니다.

 

제약 사항들 때문에 3rd party scripting engine을 찾게 되는데, 예로 AutoIt과 AutoHotKey가 있습니다. 저는 잘 모르지만...

(몇년전 만들 것이 있어서 AutoHotKey 잠깐 배워 하나 만들어 유용하게 사용중입니다. 바이러스 오진만 아니면 좋겠는데...)

 

2. VTool과 DynaLib 소개

 

ERCC http://eriedel.info/en/index.html 무료 툴인데 DynaLib는 Win32API 호출하는 Wrapper이고 VTool은 COM Server 입니다.

ERCC 영문 페이지에 있는 것 모두가 저에게는 유용하게 느껴져서 추후 하나씩 소개하려고 합니다.

예를 들면 ARGS2CLP를 이용하면 https://windowsforum.kr/lecture/13030984 내용 중 일부를 구현할 수 있을 것 같습니다.

- VTool 예제로는 https://windowsforum.kr/gallery/13093568 댓글에서 형태를 볼 수 있습니다.

- DynaLib예제로는 위 Excel4Macro 예제와 동일한 기능인데 엑셀보다 훨씬 빠릅니다. DynaLib - Num Caps Scroll Status.zip

 

3. Editor (편집기) ; VbsEdit - https://www.vbsedit.com/

 

초기에는 Excel의 VBA IDE에서 작성하였고, 요즘은 Notepad2를 쓰고 있는데 전문가로 보이는 분은 Notepad++을 쓴다고도 하네요.

이 자리를 빌려 Notepad2 컴파일해서 올려주셨던 분들에가 감사 인사드립니다. 작아서 빠르고 심플하니 마음에 듭니다. ^^

전용앱으로 VbsEdit가 있고 예전에는 데모 기간이 정해져 있었는데 최근 설치해보니 nag screen 만 나오고 기능제한은 보이지 않네요.

메뉴에 sample이 있는데 자료가 대박입니다. 답답한 마음에 VbsEdit 하나 사고 싶은데 저는 전문가도 아니고 이러다 말겠지 싶어서...

vbs to exe 기능도 있는데 데모 버전에서는 nag screen 이 나옵니다. 다음 사이트에서 free 버전을 구할 수 있겠습니다. (안써봄)

https://www.robvanderwoude.com/scriptcompilers.php , 써보신 분 계시면 추천 부탁드립니다.

 

전에 문의 하셨던 분이 계셨는데요. VbsEdit 추천드립니다. 설치 후 폴더에 보면 script56.chm 영문 버전이 있습니다.

초기에 배포했던 한글 도움말 버전 첨부합니다. (윈7부터 설치가 안된다는 말이 있습니다. 압축 풀면 됩니다.) scd56ko.exe

많은 정보가 있어서 먼저 도움말 찾아보고 모르겠으면 인터넷 검색하면 좋을 것 같습니다. 오래된 자료입니다.

 

4. Resource Site; 보통 구글링해서 첫페이지 링크들 참고합니다.^^ 북마크에 있는 몇 개 추렸습니다.

 

https://riptutorial.com/ko/vbscript 클래스가 궁금해서 찾음

https://www.robvanderwoude.com/wshstart.php

http://www.cruto.com/

https://www.w3schools.com/asp/asp_ref_vbscript_functions.asp

http://www.freevbcode.com/

 

 

* 글 날아가면 안되어서 일단 저장합니다. 급한 정보는 되는 것 같아서... 쉬엄 쉬엄 올리겠습니다. :-)

* 저는 본업과는 전혀 무관하고, 전문가가 아닙니다. 틀렸거나 수정이 필요한 부분은 지적해 주시기 바랍니다.

* 다음 포스트는 ERCC 툴들을 예제와 함께 살펴보고, 그 다음 SFC mini 공부해서 괜찮으면 소개하겠습니다.

* 도움이 될만한 정보나 자료 있으시면 추천 부탁드립니다.

번호 제목 글쓴이 조회 추천 등록일
[공지] 강좌 작성간 참고해주세요 gooddew - - -
4341 소프트웨어| pureBasic 기본 설정 [4] 입니다 1133 14 03-24
4340 소프트웨어| 중국어 하드 코딩 한글화 강좌 [8] 줄리아니 1137 20 08-16
4339 윈 도 우| 윈도우 계정/자동로그인 버그 해결 방법 사가르마타 1137 0 04-12
4338 윈 도 우| Microsoft는 많은 수의 Sysinternals 도구를 업데이트하고 ... [2] VₑₙᵤₛG 1139 4 10-14
4337 소프트웨어| [포토샵] 텍스트 지우기 [4] 무월 1139 15 04-03
4336 윈 도 우| 윈도우7에서홈피 윈도우10업데이트안될때 사용법 [5] 앙앙잉잉 1141 1 11-14
4335 윈 도 우| 프로그램 스크립트 만들기 1부. win10xpe .script edit [19] 지연서연아 1142 28 05-02
» 소프트웨어| VBScript 기능 확장하기 개요 - API, COM server [8] 지후빠 1143 9 03-24
4333 윈 도 우| 윈10 화면보호기 설정하는 2가지 방법 ( 배치파일로 설정... 코요88 1143 3 02-07
4332 윈 도 우| OneDrive 설치 방지, Microsft Edge 바로가기 생성 방지 [3] 무월 1143 11 06-23
4331 소프트웨어| Resource Hacker™ 5.1.8 - 리소스 수정 설명 [5] VₑₙᵤₛG 1146 11 11-15
4330 소프트웨어| pureBasic 자동완성을 위한 프로젝트 만들기 [5] 입니다 1147 15 03-28
4329 소프트웨어| 오토핫키로 시작 메뉴 위치 변경하기 [9] 미유키로즈 1154 5 01-13
4328 윈 도 우| WinRE.wim에 툴 메뉴 등록하는 리커버리에 대한 파티션 설... [3] 복원솔루션 1154 7 07-03
4327 윈 도 우| Windows 11의 Microsoft 스토어에서 앱 다운로드 중지를 해... VᴇɴᴜꜱGɪ 1156 4 06-13
4326 소프트웨어| Windows 10 및 11에서 Google Chrome에서 스크린샷을 찍는 ... [1] VᴇɴᴜꜱGɪ 1161 3 05-13
4325 윈 도 우| 공백으로 시작하는 파일/폴더가 복사시에 문제 [2] ton3d 1162 1 03-15
4324 모 바 일| 모바일 동영상 제작 앱 강자 키네마스터 강좌 2강 올립니다... [2] murimgasa 1167 1 08-13
4323 소프트웨어| S3. 번역기-Firefox+Google Chrome용 부가 기능: 한국어 지원 [2] VₑₙᵤₛG 1167 6 11-24
4322 기 타| Forecastfox (기상 정보) - Firefox 및 Chrome 용 부가 기능 [2] VenusGirl 1170 5 05-23
XE1.11.6 Layout1.4.8