批处理之家's Archiver

lixiaodaoaaa 发表于 2008-8-9 08:22

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

[size=4][color=magenta]                      实现启动notepad,输入ABC ,然后最小化[/color][/size]
[size=4][color=#ff00ff][/color][/size]
[size=4][color=#ff00ff][/color][/size]
[size=4][color=#ff00ff]注:写给新手,希望老鸟不要打击我!希望大家都学习一下vbs!呵呵。我会努力的!![/color][/size]


[size=4][color=magenta]首先感谢一下,昨天一位仁兄给出的课题,感觉很不错!呵呵。。
现在我把代码再帖上,仔细给大家讲一下,希望大家都能明白什么原理[/color][/size]
[size=4][color=magenta]首先把问题再说一遍,
用vbs打开记事本,在记事本里输入ABC, 然后让脚本休息
2秒钟,最后最小化,如果您有其他的代码,请伏上来,我们共同研究哈。。。
下面是我写的代码:
[color=blue][code]Set ws = CreateObject("Wscript.Shell")  
ws.run "cmd /c start notepad.exe",vbhide
wscript.sleep 2000
ws.sendkeys "A"
ws.sendkeys "B"
ws.sendkeys "C"
wscript.sleep  1000
ws.sendkeys "%"
ws.sendkeys " "
ws.sendkeys "n"[/code][/color][/color][/size]
[size=4][color=magenta][color=blue]
[/color][color=darkred]呵呵,我测试成功,在虚拟机也测试成功哈哈。
为了让新手更容易的上手,今天给大家讲一下代码的含义
set ws = createobject ("wscript.shell")
这句没有什么好讲的哈,就是套用固定格式,其中定义了ws,写vbs代码,这是固定
格式,所以这句话,一定要记住,ws可以改为其他任意字符,ws为[/color]变量........

[color=indigo]ws.run "cmd /c start notepad.exe",vbhide[/color]
这句的意思,就是执行命令notepad.exe,打开记事本,很简单吧?嘿嘿
vbhide就是隐藏那个跳出的黑框。。
因为执行的是批处理代码,没有vbhide ,将有个批处理的黑框出现。[/color][/size]
[size=4][color=magenta]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[/color][/size]
[size=4][color=magenta]哈哈,代码就这么简单,也许到现在很多人都很疑惑哈!为什么发送
[color=green]ws.sendkeys "%"
ws.sendkeys " "
ws.sendkeys "n"
就能最小化呢?呵呵,其实很简单,很容易理解,
我们可以用自己的手去操作,你就知道了,不用鼠标,也可以实现最小化的
首先,我们打开记事本,按下alt键
然后按下空格,在按下n,哈哈,竟然最小化了!!!呵呵,就是这个道理!!
容易理解吧??
嘿嘿, 就写到这了
[/color]也许有的地方我讲的不对,恳请大家批评指正,谢谢!!![/color][/size]
[size=4][color=magenta]下面附上以下代码
可以在记事本里输入 “你是傻比啊”
然后最小化,呵呵,可以恶搞一下别人哈哈
[color=blue][code]Set ws = CreateObject("Wscript.Shell")  
ws.run "cmd /c start notepad.exe",vbhide
wscript.sleep 1500
ws.sendkeys  "^ "
ws.sendkeys "n"
ws.sendkeys "i"
ws.sendkeys " "
ws.sendkeys " "
wscript.sleep 1400
ws.sendkeys "s"
ws.sendkeys "h"
ws.sendkeys "i"
wscript.sleep 1500
ws.sendkeys " "
ws.sendkeys " "
ws.sendkeys "s"
ws.sendkeys "h"
ws.sendkeys "a"
wscript.sleep 1100
ws.sendkeys " "
ws.sendkeys "5"
ws.sendkeys "b"
ws.sendkeys "i"
wscript.sleep 1100
ws.sendkeys " "
ws.sendkeys " "
wscript.sleep 2300
ws.sendkeys "A"
ws.sendkeys "B"
ws.sendkeys "C"
wscript.sleep  3300
ws.sendkeys "%"
ws.sendkeys " "
ws.sendkeys "n"[/code][/color][/color][/size]

都市浪子666 发表于 2008-8-9 17:12

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

呵呵,在偶这XP系统里,是用五笔打出来的字,你那是用拼音打出来的字

batman 发表于 2008-8-9 17:41

也来一个模拟效果的批:[code]@echo off
echo.>1.txt
for /l %%i in (1,1,20) do (
    start 1.txt
    for /l %%a in (1,1,2000) do echo>nul
    taskkill /im notepad.exe /f>nul
    if not defined flag (
       set /p=%%i <nul>1.txt&set "flag=a"
       ) else (
       set /p=%%i <nul>>1.txt
  )
    start 1.txt
)
ping /n 3 127.1>nul
taskkill /im notepad.exe /f>nul
start /min 1.txt[/code]

breakan 发表于 2008-8-10 21:22

楼上那个批不错,呵呵。
不过不能算是模拟按键了。

SmallK 发表于 2008-9-13 02:05

4楼的,3楼说的是模拟效果,不是模拟按键~呵呵…

111 发表于 2013-1-5 20:39

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

bankbook 发表于 2021-5-13 22:37

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

页: [1]

Powered by Discuz! Archiver 7.2  © 2001-2009 Comsenz Inc.