Board logo

标题: [问题求助] 关于vbs的sendkeys没有响应的问题 [打印本页]

作者: rmd06    时间: 2017-6-12 23:01     标题: 关于vbs的sendkeys没有响应的问题

有两种脚本:
第一种可以运行
  1. set WS=createobject("wscript.shell")
  2. WS.Run ("""C:\Program Files\MATLAB\R2016a\bin\matlab.exe""")'打开matlab编程软件
  3. WScript.Sleep 18000
  4. WS.AppActivate("Matlab R2016a")'激活窗口
  5. WS.SendKeys "% "发送alt空格
  6. WScript.Sleep 500
  7. WS.SendKeys "x"'发送x:这样最大化窗口
  8. WScript.Sleep 500
  9. WS.SendKeys "^0"'发送Ctrl+0,定位光标到命令框
  10. WScript.Sleep 500
  11. WS.SendKeys "paraS@#$%^&*trCell"'发送命令
  12. WScript.Sleep 500
  13. WS.SendKeys "+{ENTER}"'回车,运行命令
  14. WScript.Sleep 500
复制代码
第二种
  1. Set objShell = CreateObject("Shell.Application")
  2. objShell.ShellExecute "C:\Program Files\MATLAB\R2016a\bin\matlab.exe", "", "", "runas", 1
  3. set objShell = nothing
  4. set WS=createobject("wscript.shell")
  5. WScript.Sleep 18000
  6. WS.AppActivate("Matlab R2016a")
  7. WS.SendKeys "% "
  8. WScript.Sleep 500
  9. WS.SendKeys "x"
  10. WScript.Sleep 500
  11. WS.SendKeys "^0"
  12. WScript.Sleep 500
  13. WS.SendKeys "paraS@#$%^&*trCell"
  14. WScript.Sleep 500
  15. WS.SendKeys "+{ENTER}"
  16. WScript.Sleep 500 收起
复制代码
第二种打开matlab后,就没反应了.后面的一系列sendkeys都不知道跑哪里去了.

会不会和管理员权限有关系?
作者: yu2n    时间: 2017-6-13 08:09

以管理員模式執行腳本,在腳本中直接使用 CreateObject("WScript.Shell").Run 啟動 Matlab 程式。




欢迎光临 批处理之家 (http://www.bathome.net/) Powered by Discuz! 7.2