윈 도 우 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 | - | - | - |
3623 | 소프트웨어| 압축 프로그램으로 삭제할 수 없는 파일 및 폴더 삭제하기 [7] | 5테라 | 1831 | 15 | 03-23 |
3622 | 윈 도 우| 윈도우10 작업표시줄 시계 초 단위 표시하는 방법 [12] | gooddew | 3291 | 16 | 03-22 |
3621 | 소프트웨어| 디스크 다중 복사 ( HDCLONE ) [5] | gooddew | 2857 | 17 | 03-21 |
3620 | 윈 도 우| [스크립트] Windows 7 January 2020 ISO 만들기 [4] | VenusGirl | 2191 | 14 | 03-21 |
3619 | 소프트웨어| Rollback RX Tip [1] | 누군가 | 1046 | 3 | 03-20 |
3618 | 기 타| 보안 부팅 위반 [19] |
|
3082 | 2 | 03-20 |
» | 윈 도 우| CapsLock-toggle [7] |
|
743 | 4 | 03-20 |
3616 | 기 타| 유튜브에서 채널, 비디오 차단하기 [4] | 빛나는길 | 1726 | 17 | 03-19 |
3615 | 윈 도 우| 인터넷 ON/OFF [12] |
|
3203 | 12 | 03-18 |
3614 | 소프트웨어| 간단한 USB 로 UEFI 와 MBR 로 부팅 방법 [13] | 맹물 | 4099 | 8 | 03-18 |
3613 | 소프트웨어| USB 로 UEFI 와 MBR 로 부팅 되도록 ISO 파일 설치하기 [42] | 좋은이웃 | 7236 | 57 | 03-17 |
3612 | 윈 도 우| PE에서 Edge 즐겨찾기 유지하기 [26] | 선우 | 1315 | 12 | 03-16 |
3611 | 기 타| [추가2] 파일/폴더들을 새로운 폴더 만들어 이동 VBS [13] | 지후빠 | 1332 | 10 | 03-15 |
3610 | 윈 도 우| WinRE 복구에 대해서.............. [4] | 밤이슬216 | 1481 | 8 | 03-15 |
3609 | 서버 / IT| Wireless PXE 부팅 서버 구축하기 [6] | gooddew | 1437 | 6 | 03-14 |
3608 | 소프트웨어| UEFI 시스템 디스크 복사하기 ( TrueImage ) [10] | gooddew | 2459 | 22 | 03-14 |
3607 | 소프트웨어| Total Commander 9.5x 32비트 및 64비트용 한국어 확장 메... [11] | VenusGirl | 4787 | 25 | 03-13 |
3606 | 윈 도 우| 윈도우8.1키를 찾아보았습니다. [7] | 하늘은높고 | 1525 | 6 | 03-12 |
3605 | 윈 도 우| 메모장으로 텍스트 스크랩 편하게하기 [5] |
|
1689 | 5 | 03-12 |
3604 | 윈 도 우| Windows 10 제품 키를 찾는 방법 [11] | VenusGirl | 11230 | 10 | 03-12 |
수고 하셨습니다.감사합니다.