用VBS写secureCRT的宏调用脚本,语法用sub main,crtscreen,当打印信息出现“℃”时截图并用自带的截图工具保存在文件夹“D盘”中
时间: 2024-09-24 19:08:58 浏览: 12
在SecureCRT中创建一个VBS脚本,用于在屏幕打印出"℃"字符时调用截图并保存至"D:"盘文件夹,你需要使用`Windows API`来监控屏幕内容,这里是一个简单的示例:
```vbscript
Sub Main
Dim objWMIService, colItems, Item, WshShell, i, sFileName
' 创建WMIService 对象
Set objWMIService = GetObject("winmgmts:\\.\root\CIMV2")
' 监听打印机事件,找到包含"℃"的输出
Set colItems = objWMIService.ExecQuery("SELECT * FROM Win32_PrintJob WHERE Name LIKE '%℃%'")
For Each Item In colItems
If InStr(Item.Description, "℃") > 0 Then
' 打印机任务描述中包含了"℃"
' 获取截图工具的路径,这取决于你的系统环境
Set WshShell = CreateObject("WScript.Shell")
sScreenshotTool = WshShell.SpecialFolders("Desktop") & "\SnippingTool.exe"
' 调用截图工具
WshShell.Run sScreenshotTool & " -a -f D:\Screenshots\" & FormatDateTime(DateOnly, vbShortDate) & "_" & FormatTime(now(), "hhmmss") & ".png"
' 如果你想直接从SecureCRT界面截取,可以使用 `oWindow.CreateCapture()` 和 `SavePicture` 方法,但这种方法需要额外处理
' Set oSession = ... ' 获取SecureCRT会话
' oWindow = oSession.GetActiveWindow()
' oBitmap = oWindow.CreateCapture()
' oBitmap.SavePicture "D:\Screenshots\current_screenshot.png"
WScript.Sleep 2000 ' 等待2秒确保截取完成
End If
Next
End Sub