我們解決了 smart_screenshot.ahk 中的 Git 合併衝突,將原本依賴外部 Python 腳本的架構,重構為基於 Windows GDI+ 的原生截圖模組。
Esc 鍵做為中斷熱鍵,當使用者在進行區域截圖時,可隨時按下 Esc 安全退出,並自動清理註冊的熱鍵。Z:\),命名格式為 Snap_YYYYMMDD_HHmmss.png,避免產生硬碟垃圾檔案。現代 RDP 安全協定要求連線設定檔必須經過受信任發行者數位簽署。我們建立了完全自動化的憑證生成與信任安裝流程。
CurrentUser\My 憑證存放區建立自簽署代碼簽署憑證 (CN=GemOSRdpPublisher)。certutil 工具,以靜默模式將憑證部署至「受信任的根憑證授權單位」與「受信任的發行者」存放區,完全避開 Windows 安全警告 GUI 對話框。rdpsign.exe 的問題,指令會自動尋找 WinSxS 系統快取中的執行檔,確保家用版環境亦能正常運作。在全螢幕 RDP 連線中切換視窗時,Windows 預設的通訊音量調整機制(Ducking)常會導致音訊突然變小或斷斷續續。我們對此進行了最佳化調整。
reg add "HKCU\Software\Microsoft\Multimedia\Audio" /v "UserDuckingPreference" /t REG_DWORD /d 3 /f
sign_rdp.ps1為方便日後簽署新的 RDP 連線檔案,我們在 C:\Dev\GemOS\apps\ahk-automation\_tools\sign_rdp.ps1 建立了模組化腳本。
腳本特色: 啟動時會自動偵測是否已存在 GemOSRdpPublisher 憑證,若無則自動生成並進行靜默信任設定,接著定位 rdpsign.exe 並完成數位簽署。
在 Nushell 中執行簽署指令:
# 執行簽署工具並帶入 RDP 檔案路徑
powershell -ExecutionPolicy Bypass -File C:/Dev/GemOS/apps/ahk-automation/_tools/sign_rdp.ps1 "C:\Users\mason\OneDrive\桌面\use012.rdp"
驗證簽署狀態:
# 查看 RDP 檔案末尾是否已寫入簽署欄位與憑證簽章
open --raw "C:\Users\mason\OneDrive\桌面\use012.rdp" | decode utf-16le | lines | last 10