Share via

The VBS script code that could have run normally after updating the system cannot run properly anymore

龙 农 0 Reputation points
2024-05-07T01:41:08.8433333+00:00

第一段代码:Private Declare PtrSafe Function SetCursorPos Lib "user32" (ByVal x As Long, ByVal y As Long) As Long

第一段代码是写在一个 宏.xlsm 表格文件里的vba编辑器里的,这段代码是调用 SetCursorPos 这个系统API控制鼠标在显示器上的位置的,x参数是横轴坐标,y参数是纵轴坐标

第二段代码:Set oExcel = createobject("Excel.Application")

Set oWorkbooks = oExcel.workbooks.open("D:\Desktop\宏.xlsm")

oExcel.Run "SetCursorPos", 500, 500

这段代码是写在扩展名为vbs的文件内的,是一段vbs脚本代码,用 Excel.Application 这个对象的run方法执行写在 宏.xlsm 表格文件里的第一段代码的 Function SetCursorPos的,在系统更新前第二段代码可以正常运行,让鼠标移动到 x为500,y为500 的坐标位置的,但是系统更新后SetCursorPos的后面不管输入什么参数都是直接移动到左下角,没有出现vbs的错误提示框,但是执行结果是错误的。

我是2024年5月4日更新的系统,并且vbscript.dll这个文件的修改日期也是2024年5月4日,所以我怀疑是系统更新导致有些东西改了所以才会出现bug,截图里有日期和版本号

我公司的电脑和我自己的两台个人电脑都更新到这个版本了,都出现了这个问题

第三段代码:Private Declare PtrSafe Sub mouse_event Lib "user32" (ByVal dwFlags As Long, ByVal dx As Long, ByVal dy As Long, ByVal cButtons As Long, ByVal dwExtraInfo As Long)

第三段代码也是写在一个 宏.xlsm 表格文件里的vba编辑器里的,也出现了和上面一样的问题,用 oExcel.Run "mouse_event", 参数1, , , 这段代码去调用也无法正常工作,win10可以正常运行,win11无法正常运行,我去年就发现了

Windows for business | Windows Client for IT Pros | User experience | Other
0 comments No comments

Your answer

Answers can be marked as 'Accepted' by the question author and 'Recommended' by moderators, which helps users know the answer solved the author's problem.