Board logo

标题: [原创] 实现启动notepad,输入ABC ,然后最小化 [打印本页]

作者: lixiaodaoaaa    时间: 2008-8-9 08:22     标题: 实现启动notepad,输入ABC ,然后最小化

                      实现启动notepad,输入ABC ,然后最小化


注:写给新手,希望老鸟不要打击我!希望大家都学习一下vbs!呵呵。我会努力的!!


首先感谢一下,昨天一位仁兄给出的课题,感觉很不错!呵呵。。
现在我把代码再帖上,仔细给大家讲一下,希望大家都能明白什么原理

首先把问题再说一遍,
用vbs打开记事本,在记事本里输入ABC, 然后让脚本休息
2秒钟,最后最小化,如果您有其他的代码,请伏上来,我们共同研究哈。。。
下面是我写的代码:
  1. Set ws = CreateObject("Wscript.Shell")  
  2. ws.run "cmd /c start notepad.exe",vbhide
  3. wscript.sleep 2000
  4. ws.sendkeys "A"
  5. ws.sendkeys "B"
  6. ws.sendkeys "C"
  7. wscript.sleep  1000
  8. ws.sendkeys "%"
  9. ws.sendkeys " "
  10. ws.sendkeys "n"
复制代码


呵呵,我测试成功,在虚拟机也测试成功哈哈。
为了让新手更容易的上手,今天给大家讲一下代码的含义
set ws = createobject ("wscript.shell")
这句没有什么好讲的哈,就是套用固定格式,其中定义了ws,写vbs代码,这是固定
格式,所以这句话,一定要记住,ws可以改为其他任意字符,ws为
变量........

ws.run "cmd /c start notepad.exe",vbhide
这句的意思,就是执行命令notepad.exe,打开记事本,很简单吧?嘿嘿
vbhide就是隐藏那个跳出的黑框。。
因为执行的是批处理代码,没有vbhide ,将有个批处理的黑框出现。

wscript.sleep 2000 让vbs宿主脚本休息2秒钟哈,sleep就是休息
ws.sendkeys "A" 就是sendkeys了,就上发送按键,就是平常很流行的vbs模拟按键
这里发送了 A B C,
ws.sendkeys "%"  这里可能很多人看不懂哈,发送个%,其实不是拉!!
在vbs中sendkeys方法中 发送%就是发送了alt键
ws.sendkeys " " 这里发送了按键 空格,嘿嘿,其实呢sendkeys不能发送 space的,
" " 里面是个空字符,当vbs执行的时候,也执行这个空格,
ws.sendkeys "n" 这句话的意思就是发送了n

哈哈,代码就这么简单,也许到现在很多人都很疑惑哈!为什么发送
ws.sendkeys "%"
ws.sendkeys " "
ws.sendkeys "n"
就能最小化呢?呵呵,其实很简单,很容易理解,
我们可以用自己的手去操作,你就知道了,不用鼠标,也可以实现最小化的
首先,我们打开记事本,按下alt键
然后按下空格,在按下n,哈哈,竟然最小化了!!!呵呵,就是这个道理!!
容易理解吧??
嘿嘿, 就写到这了
也许有的地方我讲的不对,恳请大家批评指正,谢谢!!!

下面附上以下代码
可以在记事本里输入 “你是傻比啊”
然后最小化,呵呵,可以恶搞一下别人哈哈
  1. Set ws = CreateObject("Wscript.Shell")  
  2. ws.run "cmd /c start notepad.exe",vbhide
  3. wscript.sleep 1500
  4. ws.sendkeys  "^ "
  5. ws.sendkeys "n"
  6. ws.sendkeys "i"
  7. ws.sendkeys " "
  8. ws.sendkeys " "
  9. wscript.sleep 1400
  10. ws.sendkeys "s"
  11. ws.sendkeys "h"
  12. ws.sendkeys "i"
  13. wscript.sleep 1500
  14. ws.sendkeys " "
  15. ws.sendkeys " "
  16. ws.sendkeys "s"
  17. ws.sendkeys "h"
  18. ws.sendkeys "a"
  19. wscript.sleep 1100
  20. ws.sendkeys " "
  21. ws.sendkeys "5"
  22. ws.sendkeys "b"
  23. ws.sendkeys "i"
  24. wscript.sleep 1100
  25. ws.sendkeys " "
  26. ws.sendkeys " "
  27. wscript.sleep 2300
  28. ws.sendkeys "A"
  29. ws.sendkeys "B"
  30. ws.sendkeys "C"
  31. wscript.sleep  3300
  32. ws.sendkeys "%"
  33. ws.sendkeys " "
  34. ws.sendkeys "n"
复制代码

作者: 都市浪子666    时间: 2008-8-9 17:12

楼主的代码好像不灵哦,在我的电脑上,你是杀比 这个VBS在我这边显示的是 悄悄椒

呵呵,在偶这XP系统里,是用五笔打出来的字,你那是用拼音打出来的字
作者: batman    时间: 2008-8-9 17:41

也来一个模拟效果的批:
  1. @echo off
  2. echo.>1.txt
  3. for /l %%i in (1,1,20) do (
  4.     start 1.txt
  5.     for /l %%a in (1,1,2000) do echo>nul
  6.     taskkill /im notepad.exe /f>nul
  7.     if not defined flag (
  8.        set /p=%%i <nul>1.txt&set "flag=a"
  9.        ) else (
  10.        set /p=%%i <nul>>1.txt
  11.   )
  12.     start 1.txt
  13. )
  14. ping /n 3 127.1>nul
  15. taskkill /im notepad.exe /f>nul
  16. start /min 1.txt
复制代码

作者: breakan    时间: 2008-8-10 21:22

楼上那个批不错,呵呵。
不过不能算是模拟按键了。
作者: SmallK    时间: 2008-9-13 02:05

4楼的,3楼说的是模拟效果,不是模拟按键~呵呵…
作者: 111    时间: 2013-1-5 20:39

thank you
幸亏有你的代码,我做出了三维弹球作弊器
  1. Set ws = CreateObject("Wscript.Shell")  
  2. msgbox "按确定键启动三维弹球"
  3. ws.run "cmd /c start 三维弹球.exe",vbhide
  4. msgbox "按确定键启动调试模式(使用鼠标控制,有时候要按住)"
  5. wscript.sleep 1100
  6. ws.sendkeys "hidden test"
  7. msgbox "启动成功!其余功能:H 可编辑你的分数  M 显示当前系统内存 R 升级 Y 标题栏显示帧速率  B 立即获得新球 [F12] 低燃料 [F11] 增加倍数 "
复制代码

作者: bankbook    时间: 2021-5-13 22:37

新的报到
ws.sendkeys "%"
启发了我




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