VB.net 윈도우 wcript.shell

2020.09.10 17:25

졸리운_곰 조회 수:296

윈도우 wcript.shell

※ 윈도우 wcript.shell 

  - 윈도우를 구동하는 쉘 프로그램 ( 리눅스의 shell cript)

  - PowerShell 로 좀더 강력한 쉘 프로그램

  ex 1 ) 계산기 만들기

 ==> 메모장에 wcript shell 을 이용하여 계산기를 자동 실행 할 수 있다.

 ==> set shell = Wcript.createObject("\Script.shell")

       wshshell.Run "calc"

       et wshshell=nothing

 

 ==> 계산기.vbs 파일로 저장후 실행 시켜본다.

 



 

 

ex2) 계산기 실행후 자동 계산하기

  

set wshshell = Wscript.createObject("WScript.shell")

 

wshshell.Run "calc"

Wscript.Sleep 100

wshshell.AppActivate "Calculator"

Wscript.Sleep 100

wshshell.SendKeys "1{+}"

Wscript.Sleep 500

wshshell.SendKeys "2"

경축! 아무것도 안하여 에스천사게임즈가 새로운 모습으로 재오픈 하였습니다.
어린이용이며, 설치가 필요없는 브라우저 게임입니다.
https://s1004games.com

Wscript.Sleep 500

wshshell.SendKeys "^"

Wscript.Sleep 500

wshshell.SendKeys "*3"

Wscript.Sleep 500

wshshell.SendKeys "^"

Wscript.Sleep 500

wshshell.SendKeys "%{f4}" 'alt+f4:종료

Wscript.Sleep 500



set wshshell=nothing

 

- 마찬가지로 vbs 파일로 저장후 실행하면 결과값이 자동으로 계산되면서 마지막에 자동으로 종료된다.

 


 먼저 알아야 할것은 Wcript 객체이다. 이것은 WSH를 설치하면 제공되는 WSH 객체중에 하나이다. WSH는 Wscript개체 -> WshShell 개체 -> WshNetwork 개체 등등의 여러 객체를 제공하지만 그중에 Wshshell 개체가 바로 쉘 명령을 사용 할 수 있는 객체이다.

Wscript겍체를 사용하여 서버측의 응용프로그램을 실행하게 끔 할 할 수 있는것이다. 이 객체의 인스턴스를 생성하기 위해서 CreateObject를 사용하는것이다.

Set Wshshell = CreateObject("Wscript.shell" ) <--- 이게 바로 그것이다. 이렇게 WshSell 객체의 인스턴스를 만들었으면 이제 Wshshell 이라는 이름으로 쉘 객체의 여러 메소드를 사용할 수 있게됬다. 위의 예제에서 wshshell run "calc" 라고 했다. 이것은 윈도우의 내장 프로그램인 "계산기" 를 실행하기 위해 wshshell 객체에 Run 메소드를 사용한것이다. 즉 계산기 프로그램을 실행시키라는 명령어 이다. 이 Run 메소드를 통해서 서버측의 실행파일등을 동작 시킬 수 있다. WSH의 또하나는 편리함은 VBscript, JavaScript 등 편리한 스크립트를 그대로 사용하여 파일을 만들어 그것을 웹이아닌 로컬에서도 동작 시킬수 있다는것이다. VBscript로 코딩한것인 .vbs, JavaScript로 코딩한것은 .js 로 저장하면된다. 그러므로 vbs라는 확장자를 갖는 파일은 그안의 구문이 VBSscript 여야만 하는것이다. 그러므로 위에 예제는 VBScript 문법이다.

Wscript.Sleep 100 을 통해서 0.1 초동안 현재의 어플리케이션을 정지시키고 있다. 이 Sleep 라는 메소드는 CPU를 잠시 잠재우는 역할을 하는데, Wscipt 에서만 제공하는 메소드이다. Sendkey라는 메소드는 처음보는 메소드인데, 이 메소드는 지정한 키를 그 프로그램 에게 전달하는 기능을 한다. Wshshell.Sendkeys "1{+}" 라는것은 1이라는 키보드와 +  라는 키를 눌르는것을 의미한다.  일반 키는 그냥 써도 대지만, + - Enter 키 등의 특수키들은 그것을 인식시키게 하는 코드방법이 따로 존재한다. 대부분 {  } 로 묶어주어 사용한다.

%{f4} 는 alt + f4 를 의미한다.  이것은 프로그램의 종료 단축키이다. 그래서 이 키조합을 SendKey메서드로 사용하면 프로그램을 종료하게 되는것이다. 이처럼 Wscript 를 사용하여 vbs 파일로 저장해서 실행해보면 위에 사진처럼 자동으로 계산된 후에 자동으로 종료되는것을 확인 할 수 있을것이다. 더 자세한 문법에 대해서는 MSDN 홈페이지에 자세히 나와있다.

 

 

[출처] https://m.blog.naver.com/addong1224/120168334676

 

 

본 웹사이트는 광고를 포함하고 있습니다.
광고 클릭에서 발생하는 수익금은 모두 웹사이트 서버의 유지 및 관리, 그리고 기술 콘텐츠 향상을 위해 쓰여집니다.
번호 제목 글쓴이 날짜 조회 수
64 [C# Apps] Editor3D: A Windows.Forms Render Control with interactive 3D Editor in C# Editor3D: C#의 대화형 3D 편집기가 포함된 Windows.Forms 렌더 컨트롤 file 졸리운_곰 2023.09.03 543
63 [C# app] Pythonnet – .NET Core와 Python의 간단한 결합 : Pythonnet – A Simple Union of .NET Core and Python You’ll Love file 졸리운_곰 2023.03.11 183
62 [C# app] Gidon C# 플러그인 프레임워크에 Python 애플리케이션 포함 : Embedding Python Applications within Gidon C# Plugin Framework file 졸리운_곰 2023.03.07 252
61 [C# App] Gidon - Avalonia 기반 MVVM 플러그인 IoC 컨테이너 : Gidon - Avalonia based MVVM Plugin IoC Container file 졸리운_곰 2023.03.07 168
60 [VS2019] [C#] WinForm에 MySQL 연동하기 file 졸리운_곰 2022.12.25 228
59 [C#] sqlite on C# 예제로 배우는 C# 프로그래밍 file 졸리운_곰 2021.01.30 401
58 Selenium C# Webdriver Tutorial: NUnit Example file 졸리운_곰 2020.01.03 236
57 [C# 인공지능] 유전 알고리즘 : 유전 알고리즘으로 컴퓨터 자동 프로그래밍 AI-Programmer file 졸리운_곰 2019.12.28 391
56 C# 기초로 한글 검색기(초성 포함) 만들기 [Step by Step] file 졸리운_곰 2019.12.11 1832
55 (C#.NET 한글 프로그램 제작) 한글 조립 및 분해 하기 (유니코드 Unicode) file 졸리운_곰 2019.12.11 463
54 C#에서 유니코드를 이용한 한글 자모 분리와 결합 졸리운_곰 2019.12.11 1359
53 [C#] GUID 생성. file 졸리운_곰 2019.02.27 329
52 MetaWeblogAPI C# 코드 샘플 졸리운_곰 2019.02.08 367
51 A Look into the Future - Source Code Generation by the Bots file 졸리운_곰 2019.01.23 315
50 Machine Learning with ML.Net and C#/VB.Net file 졸리운_곰 2018.12.14 585
49 Scientific graphics in C# - [part 2] file 졸리운_곰 2018.12.06 5191
48 Scientific graphics in C# [part 1] file 졸리운_곰 2018.12.06 235
47 Application Trial Maker file 졸리운_곰 2018.11.22 341
46 C# 프로젝트에서 C++ 코드 사용 : Use C++ codes in a C# project — unmanaged C++ solution 졸리운_곰 2018.10.30 375
45 C# 으로 구현하는 간단한 뉴럴네트워크 : Implementing Simple Neural Network in C# file 졸리운_곰 2018.10.30 520
대표 김성준 주소 : 경기 용인 분당수지 U타워 등록번호 : 142-07-27414
통신판매업 신고 : 제2012-용인수지-0185호 출판업 신고 : 수지구청 제 123호 개인정보보호최고책임자 : 김성준 sjkim70@stechstar.com
대표전화 : 010-4589-2193 [fax] 02-6280-1294 COPYRIGHT(C) stechstar.com ALL RIGHTS RESERVED