Windows-7

為特定應用程序全大寫視窗

  • February 5, 2014

有沒有一種方法可以在執行特定應用程序時將視窗透明地設置為大寫。對於獎勵積分,當應用程序終止時,我應該能夠恢復正常(非大寫鎖定模式)。

我用Google搜尋並瀏覽了 SO/SF,但我什至不知道從哪裡開始找到答案。

謝謝

您可以使用 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

如果可能,從應用程序呼叫它,但您可以使用計劃任務在每次啟動應用程序時執行命令

引用自:https://serverfault.com/questions/573124