You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

当窗口标题以星号*开头时如何使用AppActivate激活窗口

解决Notepad2修改后窗口激活问题的简便技巧

你可以通过匹配进程而非窗口标题前缀的方式,绕过星号导致的激活失败问题,代码量很小,不需要复杂逻辑:

方案:通过进程ID精准激活

# 筛选出标题包含目标文件名的Notepad2进程
$targetProc = Get-Process -Name Notepad2 | Where-Object { $_.MainWindowTitle -like "*_TEST_FILE*" }

if ($targetProc) {
    # 用进程ID激活窗口,不受标题前缀星号影响
    [Microsoft.VisualBasic.Interaction]::AppActivate($targetProc.Id)
    [System.Windows.Forms.SendKeys]::SendWait("^a")
}

这个方法的优势:

  • 不管窗口标题是_TEST_FILE.txt - Notepad2还是*_TEST_FILE.txt - Notepad2,只要标题里包含目标文件名就能匹配到
  • 代码仅比原来多两行,完全符合你“少写代码”的需求

补充简化技巧

如果你的系统里只会打开一个Notepad2窗口处理目标文件,还能进一步简化:

[Microsoft.VisualBasic.Interaction]::AppActivate((Get-Process Notepad2).Id)
[System.Windows.Forms.SendKeys]::SendWait("^a")

内容的提问来源于stack exchange,提问作者Doofus

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.02 07:37:37