针对特定应用程序将窗口全部设为大写

针对特定应用程序将窗口全部设为大写

有没有一种方法可以在运行特定应用程序时将窗口透明地设置为大写。为了获得加分,我应该能够在应用程序终止时恢复正常(非大写锁定模式)。

我在 Google 上搜索并浏览了 SO/SF,但我甚至不知道从哪里开始寻找答案。

谢谢

答案1

您可以使用 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 会话控制大写锁定:

[CapsControls]::ToggleCaps() # simulate a CAPS key press
[CapsControls]::EnableCaps() # if disabled, CAPS key press
[CapsControls]::DisableCaps() # if enabled, CAPS key press

如果可能的话,从应用程序中调用它,但您可以使用计划任务在每次启动应用程序时运行该命令

答案2

不可以,使用系统工具不行。可能有一些第三方工具可以做到这一点。

您可以尝试更改 Windows 颜色和外观设置来更改系统显示字体,并将其更改为仅大写的字体。然而,这并不适用于所有应用程序。

您如何定义您正在解决的问题,而不是要求我们帮助您找到解决方案?为什么将其标记为“批处理”和“powershell”?这些似乎与您问题中的任何内容都无关。

相关内容