윈 도 우 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 | - | - | - |
29 | 윈 도 우| 파일 및 폴더 경로 복사 컨텍스트 메뉴 [3] | 슈머슈마 | 875 | 8 | 02-23 |
28 | 윈 도 우| PE에서 윈도우 폰트 사용하기 [5] | PC_Clinic | 869 | 17 | 03-08 |
27 | 윈 도 우| (수정) Extd 한글 설명서 [명령_문법 부분에 대하여 자세한... [4] | 슈머슈마 | 851 | 6 | 02-21 |
26 | 윈 도 우| 텍스트 파일 하위 폴더 파일 포함 병합하기! [11] | 무월 | 839 | 27 | 08-23 |
25 | 윈 도 우| [실사] 윈도우7 얼티메이트 VHD 설치 방법 [6] | 무월 | 834 | 11 | 05-08 |
24 | 윈 도 우| pe내장 크롬 설정파일 백업 복원하기.. [2] | 센돔타오르 | 820 | 10 | 03-21 |
23 | 윈 도 우| Hex 비교 및 수정 스크립트 V1.60 (bincmp) [3] | 히이이잌 | 809 | 8 | 12-24 |
22 | 윈 도 우| 제품 및 서비스 수명 주기 정보 검색(미리 보기) [1] |
|
807 | 4 | 09-09 |
21 | 윈 도 우| 파일에 대한 썸네일 미리보기를 비활성화하지 않고 폴더 썸... | 깨블리 | 799 | 2 | 05-31 |
20 | 윈 도 우| 윈도우 시작음 Mp3 시작프로그램에 등록하기 [3] | 타천사둘리 | 791 | 8 | 05-27 |
19 | 윈 도 우| Windows 11에서 그룹화를 비활성화하는 방법 | VᴇɴᴜꜱGɪ | 750 | 2 | 06-10 |
18 | 윈 도 우| korwbrkr.lex 파일없이 검색하기 [10] | PC_Clinic | 745 | 9 | 01-07 |
17 | 윈 도 우| 레노버 노트북 충천USB 사용시 마우스 버벅거림 [1] | 번개 | 732 | 1 | 03-26 |
16 | 윈 도 우| Ventoy앞 Linux 뒤 [4] | 메인보드 | 719 | 8 | 01-19 |
15 | 윈 도 우| 특정 폴더 내 임의 파일/폴더 선택 배치 함수 [10] | 지후빠 | 716 | 16 | 01-29 |
» | 윈 도 우| CapsLock-toggle [7] |
|
715 | 4 | 03-20 |
13 | 윈 도 우| VMware로 설치한 윈7,8에서 Ophcrack 안돌려지는 경우 | 누군가 | 711 | 1 | 04-23 |
12 | 윈 도 우| rsimagex,gimagex에서 vmware map한 드라이브 안보일때 [4] | 봉냐 | 663 | 3 | 02-21 |
11 | 윈 도 우| nircmd 활용 2개 [1] |
|
659 | 3 | 03-02 |
10 | 윈 도 우| [Tip] 윈도우 OOBE 구간에서 설정 창 열기 [7] | 무월 | 659 | 14 | 06-08 |
수고 하셨습니다.감사합니다.