有没有一种方法,我可以透明地设置窗口上限,当特定的应用程序运行。 对于奖励积分,当应用程序终止时,我应该能够恢复正常(非大写模式)。
我GOOGLEsearch,经过SO / SF,但我甚至不知道从哪里开始find答案。
谢谢
您可以使用PowerShell轻松切换CAPS LOCK,只需从user32.dll导入一些虚拟键盘魔法 :
$importDef = @" using System.Runtime.InteropServices; public class CapsControls { enum virtKeys : int { vkCaps = 0x14 } [DllImport("user32.dll")] static extern void keybd_event(byte bVk, byte bScan, uint dwFlags, int dwExtraInfo); [DllImport("user32.dll")] static extern short GetKeyState(virtKeys nVirtKey); public static void ToggleCaps() { keybd_event(virtKeys.vkCaps, 0x45, 0x1, 0); keybd_event(virtKeys.vkCaps, 0x45, 0x3, 0); } public static void EnableCaps() { if((GetKeyState(virtKeys.vkCaps) % 2) == 0) { ToggleCaps(); } } public static void DisableCaps() { if((GetKeyState(virtKeys.vkCaps) % 2) != 0) { ToggleCaps(); } } } "@ Add-Type -TypeDefinition $importDef
现在,您可以控制PowerShell会话中的大写locking:
[CapsControls]::ToggleCaps() # simulate a CAPS key press [CapsControls]::EnableCaps() # if disabled, CAPS key press [CapsControls]::DisableCaps() # if enabled, CAPS key press
如果可能,从应用程序调用它,但是可以使用计划任务在每次启动应用程序时运行该命令
不,你不能使用系统工具。 可能有一些第三方工具。
您可以尝试更改“Windows颜色和外观”设置以更改系统显示字体,并且可以将其更改为只有大写字体的字体。 但是,这并不适用于所有应用程序。
你如何定义你正在解决的问题,而不是要求我们帮助你看到的解决scheme? 为什么你把这个标记为“批处理”和“PowerShell”? 这些似乎并不涉及你写的问题。