윈 도 우 CapsLock-toggle
2020.03.20 12:30
----- CapsLock-toggle.vbs ------------------------------
Const n = 1
Dim f, a, s, w, o, c, p
w = WScript.ScriptFullName
Set o = CreateObject("WScript.Shell")
Set f = CreateObject("Scripting.FileSystemObject")
Set a = f.OpenTextFile(w, 1)
a.SkipLine : s = chr(13) & Chr(10) & a.ReadAll : a.Close
If n = 1 Then c = 0 : p = "+C" Else c = 1 : p = "-C"
Set a = f.CreateTextFile(w, True)
a.Write "Const n = " & c & s : a.Close
o.Run "klocks.exe " & p ,0
댓글 [7]
-
cungice 2020.03.20 13:31
-
지후빠 2020.03.21 09:42
단순 토글은 sendkey 이용해서 다음처럼 해도 될것 같습니다.
Set WshShell = CreateObject("WScript.Shell")
WshShell.Sendkeys "{CAPSLOCK}"
LED indicator 관련 검색 해봤습니다. ^^
Set WshShell = CreateObject("WScript.Shell")Do While i < 10 '숫자를 늘리면 횟수가 늘어납니다.WScript.Sleep 200WshShell.Sendkeys "{CAPSLOCK}"WshShell.Sendkeys "{NUMLOCK}"WshShell.Sendkeys "{SCROLLLOCK}"i = i + 1LoopMS Word 이용하여 현재 상태 체크하는 것은 다음처럼...
Set objWord = CreateObject("Word.Application")WScript.Echo "NumLock key is on: " & objWord.NumLock & vbNewLine & "CapsLock key is on: " & objWord.CapsLockobjWord.Quit현재 상태 체크하는 것을 VBScript 자체만으로는 안되는 것 같아요. API 호출하는 것 정리되면 올리겠습니다. -
레마클로 2020.03.21 09:55 저는 이걸 사용합니다.^^
Set o = CreateObject("WScript.Shell")
o.Run "nircmd.exe sendkeypress capslock"
아주 오래 전에 많이 모르던 시절에 "MS Word 이용하여 현재 상태 체크하는 것은 다음처럼..."를 알았더라면 ...
현재 상태 체크하는 것이 vbs로는 안될겁니다.
그래서 klocks.exe를 이용했었습니다...
워드가 설치 되어있지 않으면 사용 못하는건가요?
-
지후빠 2020.03.21 09:59
WinAPI call 하는 방법이 COM 통해서 가능할 것 같은데요. 찾아 봐야겠습니다.
언제가 찾아 놓은 자료가 어디있을텐데...
이런 단편적인 지식이 많이 쌓여야 필요할 때 원하는 것에 도달할 수 있을 것 같습니다.^^
-
레마클로 2020.03.21 10:02 고맙습니다.
지후아빠님 덕분에 늦었지만 많이 배우고 있습니다..
-
지후빠 2020.03.21 10:54
아닙니다. 제가 고맙습니다. 이런 이슈가 있어야 찾아보고 공부하게 됩니다.^^
-
지후빠 2020.03.22 14:13
Win32Api을 사용할 수 있는 Wrapper인 DynaCall이라는 것이 오래전에 있었는데 윈10에서는 작동하지 않는 것 같습니다.
다른 것도 있는데 테스트 해보고 쓸만 하면 소개하겠습니다.
엑셀의 매크로4를 이용한 Win32Api를 호출할 수 있어서 예제로 소개 합니다.
참고 링크; http://www.tarasastree.com/2015/09/vbscript-to-call-windows-api-functions.html
키보드 키중에 NumLk, CapsLk, ScrollLk 눌러진 상태인지를 체크하는 스크립트입니다. (엑셀이 설치되어 있어야 합니다.)
Const VK_NUMLOCK = &H90
Const VK_CAPITAL = &H14
Const VK_SCROLL = &H91
If GetKeyState(VK_NUMLOCK) = 1 Then NL = "ON" Else NL = "OFF"
If GetKeyState(VK_CAPITAL) = 1 Then CL = "ON" Else CL = "OFF"
If GetKeyState(VK_SCROLL) = 1 Then SL = "ON" Else SL = "OFF"
WScript.Echo "Num Lock Status : " & NL & vbNewLine & "Caps Lock Status : " & CL & vbNewLine & "Scroll Lock Status : " & SL
Function GetKeyState(VK)
GetKeyState = CreateObject("Excel.Application").ExecuteExcel4Macro("CALL(""user32"", ""GetKeyState"",""JJJ""," & VK & ")")
'WScript.Echo VarType(GetKeyState)
End Function
번호 | 제목 | 글쓴이 | 조회 | 추천 | 등록일 |
---|---|---|---|---|---|
[공지] | 강좌 작성간 참고해주세요 | gooddew | - | - | - |
4481 | 소프트웨어| pureBasic - WIM 정보 v0993 - 내부 파일 추가 삭제 내보내... [40] | 입니다 | 8663 | 160 | 12-22 |
4480 | 소프트웨어| 한글2024 로고 교체 / 자동 설치 옵션 [54] | 무월 | 13145 | 107 | 11-25 |
4479 | 소프트웨어| [추가기능1.1]엑셀 셀의 행-열 Auto-Highlight 하는 방법들 [77] | 지후빠 | 2813 | 103 | 11-10 |
4478 | 윈 도 우| PrincePE_V18.5 [164] |
|
204984 | 99 | 02-02 |
4477 | 윈 도 우| PE 한글화 프로그램 (v1.0) [106] | ㄱㅇㄱㄱㅁ | 28010 | 89 | 06-25 |
4476 | 윈 도 우| 윈도우 10 설치, 최적화 및 기타 팁 100개 정리 [56] | 컴알못러 | 27746 | 79 | 01-26 |
4475 | 윈 도 우| PrincePE_V20 [52] |
|
2835 | 72 | 03-05 |
4474 | 윈 도 우| 배치파일을 이용해서 윈도우 자동 설치하기 [22] | gooddew | 4960 | 70 | 10-16 |
4473 | 윈 도 우| Windows 10 Ultimate (DREAM HS) [58] |
|
7353 | 70 | 08-14 |
4472 | 윈 도 우| WindowsXPE147-1빌더/나만의 PE를 만들자 시즌2 ?? 1탄 (... [59] | 지연서연아 | 2022 | 68 | 04-16 |
4471 | 소프트웨어| iVentoy 만능윈도우(WIM) 자동 설치 [20] | 무월 | 4251 | 66 | 07-08 |
4470 | 윈 도 우| PrincePE_V19 [53] |
|
5096 | 65 | 02-15 |
4469 | 윈 도 우| 윈도우 장치 드라이버 추출(백업) 명령어 [25] | 컨피그 | 2713 | 64 | 02-23 |
4468 | 윈 도 우| 윈도우10 만능이미지 제작 메뉴얼 [43] | 질주민군 | 5585 | 64 | 11-19 |
4467 | 소프트웨어| 트루이미지(Acronis True Image) 추가본②(본문 수정) [91] | 고양이2 | 9118 | 62 | 11-26 |
4466 | 윈 도 우| 무인응답파일(autounattend.xml) 쉽게 만들기 [30] | 네오이즘 | 3851 | 60 | 12-31 |
4465 | 서버 / IT| 손쉽게 멀티부팅용 USB 만들기. (내용추가) [50] | 디폴트 | 7405 | 60 | 05-31 |
4464 | 윈 도 우| PrincePE_V22 [53] |
|
6602 | 59 | 03-06 |
4463 | 소프트웨어| ▣▣▣▣▣[ Ventoy 고급 응용편 자료 정리 ]▣▣▣▣▣ [31] | 메인보드 | 7865 | 57 | 05-14 |
4462 | 소프트웨어| USB 로 UEFI 와 MBR 로 부팅 되도록 ISO 파일 설치하기 [42] | 좋은이웃 | 7072 | 57 | 03-17 |
수고 하셨습니다.감사합니다.