PowerShell 複製到剪貼簿歷史中
預設的 Set-Clipboard 不會顯示在剪貼簿中,這個是他的擴充函式
直接上代碼,自行取用
function Set-ClipboardHistory {
param(
[Parameter(Mandatory=$true)]
[string]$Value,
[Parameter()] # 記錄在 Windows 的剪貼板歷史
[switch]$DenyInHistory,
[Parameter()] # 在用戶的多個設備之間漫遊
[switch]$Roamable
)
# 加載 Windows Runtime 類型
Add-Type -AssemblyName 'System.Runtime.WindowsRuntime'
# 創建 DataPackage 和 ClipboardContentOptions 對象
$dataPackage = New-Object Windows.ApplicationModel.DataTransfer.DataPackage
$cOptions = New-Object Windows.ApplicationModel.DataTransfer.ClipboardContentOptions
# 根據參數設定剪貼板內容選項
$cOptions.IsAllowedInHistory = -not $DenyInHistory
$cOptions.IsRoamable = $Roamable
# 設定剪貼板操作為複製
[int]$RequestedOperationCopy = 1
$dataPackage.RequestedOperation = $RequestedOperationCopy
# 使用選項將內容設置到剪貼板
$dataPackage.SetText($Value)
[Windows.ApplicationModel.DataTransfer.Clipboard]::SetContentWithOptions($dataPackage, $cOptions) | Out-Null
} # Set-ClipboardHistory "TestString"
-
沒有留言:
張貼留言