แนวทางแก้ไขที่เป็นไปได้
ฉันได้รับแนวคิดนี้และตรรกะ VBS เริ่มต้นจาก TechNet - คนเขียนสคริปต์ และเพิ่งทำการปรับตรรกะ VBS เล็ก ๆ แล้วเปลี่ยนเป็นสคริปต์แบบแบตช์ที่สร้างขึ้นแบบไดนามิกที่ทำงานในลูป มันทำงานได้ตามต้องการและสามารถฆ่าได้ง่ายและตามต้องการโดยไม่จำเป็นต้องติดตั้ง สมมติว่าคุณมี Microsoft Office Word บนพีซีอยู่แล้ว (ฉันแน่ใจว่ามีวิธีที่จะวางองค์ประกอบ Office บนพีซีของคุณโดยไม่จำเป็นต้องติดตั้งซอฟต์แวร์ลิขสิทธิ์)
เพียงบันทึกตรรกะสคริปต์แบทช์ด้านล่างลงในไฟล์ข้อความบนเดสก์ท็อปและตั้งชื่อให้ <something>.cmd
จากนั้นคลิกสองครั้งเพื่อเรียกใช้ ดู ล็อคหมายเลข ไฟบนแป้นพิมพ์ของคุณสลับทุก ๆ สิบวินาทีตามที่คุณสั่งให้มันทำงาน (ฉันตั้งค่าเป็น 5 ในสคริปต์ตัวอย่าง)
เพียงแค่ย่อขนาดหน้าต่างพรอมต์คำสั่งเมื่อมันทำงานและเพียงแค่ปิดหน้าต่างพรอมต์คำสั่งด้วยเครื่องหมาย "X" เมื่อคุณพร้อมที่จะหยุดถ้าไม่ให้พีซีของคุณทำงาน ล็อคหมายเลข เปิดถ้าปิดโดยไม่ตั้งใจ
ตรรกะ VBS Batch Script แบบไดนามิก
@ECHO OFF
SET TempVBSFile=%tmp%\~tmpSendKeysTemp.vbs
SET PauseSeconds=5
:VBSDynamicBuildLoop
IF EXIST "%TempVBSFile%" DEL /F /Q "%TempVBSFile%"
ECHO Set objWord = CreateObject("Word.Application") >>"%TempVBSFile%"
ECHO Set WshShell = WScript.CreateObject("WScript.Shell") >>"%TempVBSFile%"
ECHO Wscript.Sleep %PauseSeconds%000 >>"%TempVBSFile%"
ECHO. >>"%TempVBSFile%"
ECHO If objWord.NumLock = 0 Then >>"%TempVBSFile%"
ECHO WshShell.SendKeys "{NUMLOCK}" >>"%TempVBSFile%"
ECHO End If >>"%TempVBSFile%"
ECHO. >>"%TempVBSFile%"
ECHO objWord.Quit >>"%TempVBSFile%"
CSCRIPT //nologo "%TempVBSFile%"
GOTO VBSDynamicBuildLoop