elexy 发表于 2012-12-5 17:26:18

[已解决]窗口标题 正则匹配公式

本帖最后由 elexy 于 2012-12-5 19:09 编辑

目的:正常关闭当前所有通过 powerpoint打开的PPT或PPS文件
您会问为什么不用 ProcessClose("powerpnt.exe") ,因为经试验在win7系统下,某些特定操作中,非正常关闭powerpoint会引起系统字体显示异常。

我的思路:通过ControlSend向窗体标题中含有 PowerPoint 字符的窗口 发送 Alt+F4 命令。

以下是两个窗口标题名称

Microsoft PowerPoint -           PowerPoint 幻灯片放映 - “test.pps”

我看了帮助: REGEXPTITLE -窗口标题使用 正则表达式 (如果正则表达式错误,将把 @error 设置为 2)

但是不知道正则公式怎么写?当然,高手们如果有更加 高效、稳定、静默 的方法可以分享一下。

annybaby 发表于 2012-12-5 18:22:16

本帖最后由 annybaby 于 2012-12-5 18:23 编辑

回复 1# elexy


    不知道就去学,没有人生出来就会的~~
论坛有好多资料~
再说,如果只是这个简单匹配的话,只要将标题匹配模式改成2即可(部分匹配~~)

afan 发表于 2012-12-5 18:41:42

WinList('')

elexy 发表于 2012-12-5 18:50:03


afan 发表于 2012-12-5 18:41 http://www.autoitx.com/images/common/back.gif

WinList('')

这样怎么样?

afan 发表于 2012-12-5 18:51:38

回复 4# elexy


    你自己测试不就行了?

elexy 发表于 2012-12-5 19:00:27

本帖最后由 elexy 于 2012-12-5 19:06 编辑

回复elexy


    你自己测试不就行了?
afan 发表于 2012-12-5 18:51 http://www.autoitx.com/images/common/back.gif

谢谢afan,刚这台电脑没有装PPT,所以随口问了一下。事实证明,你的公式可以正常获取,不知道为什么不能直接 用包含 powerpoint 即可。

ControlSend ( "窗口标题", "窗口文本", 控件ID, "字符串" [, 标志] )    才发现这个函数需要指定 控件ID,晕了,不能发送快捷键。。。。

afan 发表于 2012-12-5 19:05:12

回复 6# elexy


    你的应该也是可以的~ “powerpoint”是这些都含有的字符串。 如果还有其它含有“powerpoint”字符的窗口不需捕捉,则表达式需添加更多的条件。

afan 发表于 2012-12-5 19:26:29

回复 6# elexy


    ControlSend 不是发送按键的。
激活窗口直接Send('!{F4}')

qsy666888 发表于 2014-6-23 10:11:10

我是来学习的
页: [1]
查看完整版本: [已解决]窗口标题 正则匹配公式