윈 도 우 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 | - | - | - |
4401 | 윈 도 우| Deep Freeze 설치밎사용법 [12] | 성성 | 28999 | 1 | 09-06 |
4400 | 소프트웨어| foobar 를 가장 최적화 하여 쓰는 방법 [34] |
|
28982 | 15 | 01-30 |
4399 | 윈 도 우| 소소한 팁입니다. 가끔 키보드가 제멋대로 굴때! (특히 게... [3] | 냐옹쏭군 | 28817 | 0 | 06-23 |
4398 | 하드웨어| 농협뱅킹문제 -익스패치후 [5] | ▒벗님▒ | 28773 | 0 | 01-23 |
4397 | 윈 도 우| ‘윈도우8′에서 ‘시작’ 버튼 되살려보자 [5] | 짱가세상 | 28579 | 0 | 03-05 |
4396 | 기 타| 어드민계정 활성화 하기 | gooddew | 28519 | 1 | 09-10 |
4395 | 윈 도 우| 6. MS 인증 - 인증 개념 및 종류, 토큰 최적화 [1] | 공피 | 28301 | 0 | 02-14 |
4394 | 기 타| <STRONG><FONT color=#6699ff>바이오스업데이... [5] | gooddew | 28288 | 0 | 09-10 |
4393 | 윈 도 우| ssd 최적화 제대로 알고 사용하자 [19] | 박군 | 28173 | 8 | 04-26 |
4392 | 윈 도 우| sp1 설치후 인증시 제품 키를 찾을 수 없습니다 나올때.. [12] | 나무 | 28172 | 1 | 03-01 |
4391 | 윈 도 우| .Net Framework(닷넷프레임웤)관련 총정리 및 오류해결 [8] | 드로리안 | 28151 | 7 | 05-12 |
4390 | 윈 도 우| PE 한글화 프로그램 (v1.0) [106] | ㄱㅇㄱㄱㅁ | 28016 | 89 | 06-25 |
4389 | 윈 도 우| 가상메모리 없이 사용하기 [19] | 아이스언맨 | 27870 | 4 | 02-19 |
4388 | windows7 서비스 최적화 [9] | 죠타로 | 27830 | 0 | 08-08 |
4387 | 하드웨어| 익스플로러의 즐겨찾기를 쉽게하자 [2] | Purehanul | 27814 | 0 | 05-21 |
4386 | 윈 도 우| OneKey_8.0.0.206.kor 사용하기 [30] | 하늘보기 | 27765 | 26 | 03-28 |
4385 | 윈 도 우| 윈도우 10 설치, 최적화 및 기타 팁 100개 정리 [56] | 컴알못러 | 27749 | 79 | 01-26 |
4384 | 윈 도 우| 윈도우8 꾸미기 - 윈도우8 테마 패치하고 테마 적용하기 [7] | JHRunning | 27683 | 3 | 02-07 |
4383 | 윈 도 우| 윈빌더(WinBuilder)로 윈도우 7 PE 만들기 [8] |
|
27679 | 4 | 01-21 |
4382 | A.I_08.02.07 New PDF 사용 설명서 [3] | David Lee | 27609 | 0 | 02-07 |
수고 하셨습니다.감사합니다.