2011-03-11 85 views
2

有没有一种方法可以使VBScript在您的屏幕的某个确切位置(例如(10,100)或点击这些行点击)点击?或者也许点击一个文本框?VBS单击位置

+0

嗨。如果您发现答案有帮助,您可以单击答案左侧的向上投票按钮,如果答案是您想要的答案,则可以单击大记号以接受答案。大多数提供答案的论坛和网站都有这种类型,使用这些评级系统通常是一个好主意。 – Fionnuala 2011-03-11 12:07:12

回答

5

VBScript本身并不知道桌面或任何其他窗口。通过使用各种COM/ActiveX对象,您可以与其他进程和窗口进行交互。例如,您可以使用create a shortcut on the desktop,start a program,automate a series of keystrokesforce a program to come to the front

就自动化鼠标移动或鼠标点击而言,您可能需要编写自己的COM对象才能执行此操作。 SetCursorPosSendInput API调用的组合可以实现这一点。

Google答案有一些example C++ code可以实现这一点。 行星源代码有一些example VB6 code可以实现这一点。

从那里,你可以创建你的COM/ActiveX对象,这将允许你使用VBScript来点击你想要的位置。

+0

那么我不知道这些,你能解释一点吗? – Wetrel 2011-03-11 02:13:21

+0

我不知道C++。只有Lua和VBS。我只有13岁.. – Wetrel 2011-03-11 02:15:56

+0

等什么是COM? – Wetrel 2011-03-11 02:18:03

2

这将移动光标:

Option Explicit 
Dim Excel, x, y 

Set Excel = WScript.CreateObject("Excel.Application") 

x = "500" 
y = "222" 
Excel.ExecuteExcel4Macro (_ 
    "CALL(""user32"",""SetCursorPos"",""JJJ""," & x & "," & y & ")") 

WScript.Sleep (100) 
WScript.Echo "Program Ended" 
0

下面的代码可用于您的鼠标移动到X,Y COORDS 100,100

Set DeviceReplay = CreateObject("Mercury.DeviceReplay") 

DeviceReplay.MouseMove 100,100