WScript 예제

Tech: /ASP·VB6 2008. 6. 26. 11:25

Windows Script Host Object Model (Ver 1.0) (C:\WINNT\System32\wshom.ocx)을 이용하면 레지스트리 읽기, 쓰기, 파일 실행 등을 자유자재로 구사할 수 있다.

 

다음은 프로그램상에서 다른 특정 파일을 실행하는 명령들이다.

 

1. WScript.Shell : Windows Script Host Object Model (Ver 1.0)을 이용한 예제

 

Dim lngFlag as Long

Dim ws As IWshShell_Class

Const SW_SHOW = 5

 

Set ws = New IWshShell_Class

lngFlag = ws.Run("cmd.exe /c dir C:\ /w | more", SW_SHOW)

Set ws = Nothing

   

 

2. VB 기본 제공 - Shell 명령을 이용한 예제

 

lngFlag = Shell("cmd.exe /c dir C:\ /w | more", vbNormalFocus) ' vbNormalFocus = 1

AppActivate "명령줄 실행"   ' 실행 후 다시 이 프로그램으로 포커스를 이동시킴.

 


3. Win32 API를 사용한 예제

 

lngFlag = ShellExecute(Me.hwnd, "open", "cmd.exe", "/c dir C:\ /w | more", "C:\", SW_SHOW)



위 세가지 예제는 모두 동일하게 명령줄 명령을 실행하게 된다.

(물론 마지막 ShellExecute 함수는 Win32 API로 정의되어 있어야 한다.)

 

첫번째 예제에서 사용된 IWshShell_Class는 ASP에서도 호출하여 사용할 수 있다.

다음은 ASP상에서 실행하는 예제이다.


 

4. ASP에서 실행한 예제

 

Dim lngFlag

Dim ws

 

Set ws = Server.CreateObject("WScript.Shell")

lngFlag = ws.Run("cmd.exe /c dir C:\ /w | more")

Set ws = Nothing

 


물론 이 결과가 웹 브라우저상에 표시되지는 않는다. (표시하기 위해서는 결과를 파일로 저장한 다음, FileSystemObject를 사용하여 파일을 읽어 출력해야 한다.)

 

※ 이 ASP 코드를 잘못 이용하면 서버에 심각한 악영향을 미칠 수 있으므로 최대한 주의해야 한다. 운영 또는 보안 관계자들은 서버에 올라가 있는 게시판이나 자료실 등에서 이러한 코드가 포함된 ASP 파일이 업로드되거나 실행되지 않도록 각별히 노력해야 한다.


'Tech: > ASP·VB6' 카테고리의 다른 글

VB-RDS (Remote Data Service) 사용  (0) 2008.06.26
VB-에러처리에 관련된 팁  (0) 2008.06.26
VB-SystemMonitor 사용하기  (0) 2008.06.26
Window2000에서의 MSMQ 사용  (0) 2008.06.26
VB-메시지박스 자동 종료하기  (0) 2008.06.26


Posted by 떼르미
,


자바스크립트를 허용해주세요!
Please Enable JavaScript![ Enable JavaScript ]