
Option Explicit
Dim objFSO,strFile
Set objFSO = CreateObject("ScriptingFileSystemObject")
Set strFile = objFSOGetFile(WScriptScriptFullName)
MsgBox strFileParentFolder
Set objFSO = Nothing
Set strFile = Nothing
不是vbs脚本语言无法实现模拟按键,是没有调用模拟按键的组件,用vb做个ActiveX控件,把用到的AIp写在里面,然后用vbs调用就是了。鼠标用到的ApiGetCursorPos获取鼠标在屏幕的坐标SetCursorPos设置鼠标在屏幕的坐标mouse_event模拟鼠标点击
Plugin ck=WindowGetKeyFocusWnd()
Delay 15
Plugin WindowSendKeyPress(ck,65)
Delay 15
Plugin BGKM5LClick(ck,526,284)
Delay 20
For 3
Plugin WindowSendKeyPress(ck,27)
Delay 20
EndFor
修改:忘了说,526,284是屏幕坐标,你需要把它改成窗口坐标。把鼠标移到点击处,用下面的脚本获取窗口坐标。
Plugin hw=WindowMousePoint()
//获取当前窗口句柄
VBSCall GetCursorPos(x,y)
//获取鼠标当前屏幕绝对坐标
Plugin winxy=BGKM5ScrToCli(hw,x,y)
//换算鼠标当前屏幕绝对坐标-->鼠标相对于窗口的坐标,以“X|Y”格式的字符串表示
VBS StrXY_len = InStr(winxy,"|")
VBS wdx=Left(winxy,StrXY_len-1)
wdx=int(wdx)
VBS wdY=Right(winxy,StrXY_len-1)
wdy=int(wdy)
MessageBox wdx&","&wdy
谁来检测 F5 有没有被按下?这也是脚本的工作啊。
所以不能通过F5来启动脚本,而是要先启动脚本,由脚本来检测F5有没有被按下。就是说,脚本需要你手动运行。
脚本编写的思路就是,写个循环一直监测 F5 有没有被按下,按下了就做相应的事情(按下F3d起F3,过4毫秒右键单击)。
从你的描述来看,检测两次 F5 按键,做两次动作就结束循环。
具体代码,等高手来写,呵呵~~
个人认为这种鼠标键盘的 *** 作使用AutoIt或按键精灵比较好。 可以注册热键,模拟鼠标动作,非常方便。 由于AutoIt是免费的,所以优先推荐AutoIt ^_^
--------------------------------------------------------------
AutoIt脚本:
HotKeySet("{F5}", "myAction")
HotKeySet("{ESC}", "Terminate")
While 1
Sleep(200)
Wend
Func myAction()
Send("F3")
Sleep(4)
MouseClick("right") ;右键单击的具体位置坐标可以设定,MouseClick("right", x, y)
EndFunc
Func Terminate()
Exit
EndFunc
可以编译为exe文件,双击运行后,随便你按多少次都可以,每按一次就做一次相应的动作。按ESC可以退出脚本运行。
要自动获取后台点击时的坐标,必须用一个插件,叫361窗口插件增强版,你自己去按键精灵论坛下载,否则下面的脚本是无法运行的
有了插件后,鼠标移动到需要点击的位置,按下热键启动,就行了
Plugin h=WindowMousePoint()
VBSCall GetCursorPos(x,y)
Plugin WindowEx3ScreenToClient(h,x,y)
Rem 循环
Plugin BkgndMoveTo(h,x,y)
Plugin BkgndLeftDoubleClick(h,x,y)
Delay 100
Goto 循环
以上就是关于怎么获取vbs脚本文件所在的路径全部的内容,包括:怎么获取vbs脚本文件所在的路径、vbs 后台模拟按键、50分求高手把这个按键精灵脚本改为后台脚本等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)