需要协助VBSCRIPT来捕获用户桌面的屏幕截图

时间:2014-04-27 06:19:28

标签: windows vbscript screenshot

对于面向对象的程序,我是一个新手。也就是说,我一直在尝试构建一个vbscript,它将捕获桌面的屏幕截图并立即将其保存到我指定的文件夹中。这是我到目前为止的代码:

'开始

 Dim screenSize 

 screenSize = New screenSize.Size(Screen.PrimaryScreen.Bounds.X,Screen.PrimaryScreen.Bounds.Y)

 Dim screenGrab

 screenGrab = New screenGrab.Bitmap(My.Computer.Screen.Bounds.Width,   my.Computer.Screen.Bounds.Height)

 Dim g 

 g = g.System.Drawing.Graphics.FromImage(screenGrab)

 dim copyS

 copyS = Graphics.CopyPixels4.PaintEventArgs

 dim copyS2

 copyS2 = copyS.Graphics.CopyFromScreen(Screen.PrimaryScreen.Bounds.X, Screen.PrimaryScreen.Bounds.Y, 0, 0, Screen.PrimaryScreen.Bounds.Size, CopyPixelOperation)

 dim saveTo

 saveTo = screenGrab.Save("C:\temp\screenGrab.bmp")

'结束

我更喜欢将其保留在VBSCRIPT中,因为此脚本将合并到我创建的现有vbscript中。我目前在第3行收到一条错误,说明“未定义类”屏幕大小“。我也担心即使我在第3行修复错误,我可能会遇到其他语法问题。该脚本的总体意图是1)获得屏幕尺寸; 2)执行截图; 3)并将文件保存到目的地。我愿意接受任何有关这项工作的建议。

我感谢我在这一点上能得到的任何帮助。谢谢。

1 个答案:

答案 0 :(得分:1)

好像你把VB.NET搞砸了VBScript screenSize,screenGrab,System.Drawing.Graphics - 默认情况下,VBScript中没有这样的类。

我建议使用一些屏幕捕获ActiveX(google it) 或者使用像this这样的代码用VB6创建自己的ActiveX。在VB6中创建新的ActiveX项目,添加该模块并编译 并且记得在脚本中使用它之前运行regsvr32.exe youractivex.ocx