我希望制作一个应用程序,该应用程序始终在后台运行的窗口中,当我的计算机的屏幕保护程序启用时切换滚动锁定,然后在禁用时切换回切换(如果可能)。当屏幕保护程序激活时,切换SCROLL LOCK
原因是我有一个键盘根据滚动锁定灯的状态点亮。当我不使用键盘时,让键盘自动关闭灯光会很酷。
我知道VBscript中的一些代码,一些在Python中,还有很多在VB中。我一直在使用从this的代码片段,并把它试图进入这个:
strComputer = "computername"
Set wshShell =wscript.CreateObject("WScript.Shell")
Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\cimv2")
Set colProcesses = objWMIService.ExecQuery("Select * from Win32_Process")
Do
WScript.Sleep 300
For Each objProcess In colProcesses
If Right(objProcess.Name, 4) = ".scr" Then
wshShell.SendKeys "{SCROLLLOCK}"
End If
Next
Loop
仅当程序时,屏幕保护程序已经上运行哪些工作。 如果屏幕保护程序开启,请帮助我了解如何在每300个滴答声中进行检查,或者告诉我如何使用标题中列出的其他语言之一。
乍一看,您的代码对我来说看起来并不正确。它可能需要长达5分钟才能检测到屏幕保护程序,但这是我看到的唯一问题。如果屏幕保护程序启动并且程序已经运行(并且您等待了5分钟),会发生什么情况? – Syberdoor
@Sberberry为什么5分钟? – Jared
对不起,我很困惑。我以某种方式假定vbscript睡眠在几秒钟内就像c样式的睡眠而不是毫秒......忘记我所说的,下面的ansgars回答将是正确的,尽管 – Syberdoor