[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

[其他] [已解决]如何用批处理实现手机与电脑的互动通信?

一直想弄个手机和电脑互动的东东,可能力有限,发个帖,大家一起来研究研究吧。
       大概构思是这样的,出门的时候忘记关电脑了,但最近三天可能不回家,想通过手机发送一条指令给电脑,说,电脑,我不回家,你关机睡觉吧。批处理如何实现此功能?
       电脑和电脑之间可以通过浏览器、聊天工具等方式通信,手机和手机之间可以通过手机号码通信。手机和电脑之间通过什么方式通信呢?
       1、飞信:可以在电脑上发送免费短信,也可以在智能手机上安装飞信。
       2、QQ:电脑和手机上的QQ都已经很普及了。
       3、邮件:现在手机同样很轻松的就可以接收邮件。
       以上是三种常见的手机和电脑的通信方式,可见,手机和电脑之间的通信已经大概的有了一个基础,那么,我们的批处理能够在中间扮演什么角色呢?
       飞信命令行版、QQ命令行版、邮件命令行版我都找到了。飞信命令行版给我弄丢失了,可以再找。QQ命令行版可以用,但似乎它和官方版本的一样是独立的,需要手工操作,批处理无法“嵌入”它的程序里面(可能我的能力有限),因此无法预先设定QQ号码和密码,无法导入和导出通信内容。命令行版的邮件我用的是blat.exe,但目前我只弄懂发送邮件,无法搞清楚怎么接收邮件。
        以邮件作为媒介连通电脑和手机(智能机),在电脑上批处理配合blat可以发送邮件。比如,我用手机发送邮件给电脑“电脑,执行关机”——转换成代码:Dear007,shutdown -s。电脑开机一直执行一个批处理,专门用来监控邮箱,当其接收到命令“Dear007,shuodown -s”时,分析dear007为电脑名称,“shutdown -s”为执行命令,接收到命令后,批处理首先自动回复一封邮件给手机,“收到!马上执行!”,并于一分钟后开始执行关机命令。
         整个过程,需要一个监控邮箱的P,需要实现接收和分析邮件的P,需要发送邮件的P,需要执行命令的P。发送邮件的P已经可以实现,但接收和分析的P我还没搞定,目前没有具体的头绪,想请教众位高手,接受和分析邮件具体如何实现?最好具有很强的可操作性,代码也得,工具也得,发一点出来,大家一起完成这个有趣的试验,让批处理也实现智能化!~
_______________________________________________________________________________________
经过努力,这个想法终于曲折地得到解决,虽然不是很理想,但终告一段落。其实提取新邮件只用一个move就好了,原本很简单的,后面个我弄得很复杂了,只是为了实现更多功能而已。

现在终于可以躺在床上,用手机发送短信给电脑,告诉电脑“batbot001”我想听听音乐,于是通过手机用邮箱发送标题为【start "" "%ProgramFiles%\TTPlayer\TTPlayer.exe"】的邮件到另外一个邮箱,而那个邮箱被设置在电脑的outlook中,通过这个工具,电脑收到邮件,并提取命令来执行。困了,要睡觉了,我又拿我的C750发送指令【shutdown -s -t 0】给电脑,一两分钟后,电脑自动关机。嘿嘿,把手机当遥控器使用了!~

当然,我的邮箱有几十个,你就别动歪脑筋打听我的outlook使用的邮箱地址了,因为batbot001是属于我的。

代码在17、18楼,由于太长了被拆成了两段,可怜我的batbot001~!~
20100311,做了升级,OEInboxtool v4.4(通用简化版).bat,比先前贴出来的顺眼多了,已经比较完善了!~

代码就不贴出来了,看附件。
使用方法介绍在25楼!~
本篇为原创,转载请注明出处。 http://hi.baidu.com/cjiabing     甲兵时代,为你服务。

内网穿透加ssh私钥连接应该行

TOP

看不懂啊!!!!!

TOP

个人觉得还是用架设iis的方法比较简单,可以直接写一个页面来接受输入命令,再用fso写为固定格式文件名,在电脑上运行一个批处理定期检测这个文件是否存在,存在即加载其中内容运行并删除等待下个命令。如果嫌架设iis麻烦的话可以用个轻量级工具netbox...
这都不用去解析什么了,直接整个bat出来调用都成,这是最灵活的。监听批处理可以用srvany注册成一个服务(普通批处理无法响应服务接口),这样电脑只要开机都可接收命令,可以避免有设密码的电脑在尚未登录进桌面时无法启动批处理的情况。

TOP

为什么没有人用飞信做呀?分析:电脑可以安装飞信,让飞信随机启动,手机可以通过网页发送短信,电脑受到特定手机(你自己的)发来的短信后执行关机操作!只是个建议,高手不要见笑!这种方法应该是可行的把??

TOP

为什么没有人用飞信做呀?分析:电脑可以安装飞信,让飞信随机启动,手机可以通过网页发送短信,电脑受到特定手机(你自己的)发来的短信后执行关机操作!只是个建议,高手不要见笑!这种方法应该是可行的把??

TOP

好牛B 哈哈,,。下载啦。、

TOP

我目前也在学习这个!

TOP

没想到楼主是甲兵时代,刚学P时在你那里偷过一阵艺呢。

TOP

回复 25楼 的帖子

能否在顶楼注明需要哪些第三方命令行工具,以及它们的下载地址?
Do All in Command Line

TOP

目前版本是OEInboxtool v4.4(通用简化版)20100311。做了许多测试和优化,代码就不贴出来了。喜欢“简单就好”。下面介绍下使用方法。
       首先,检查你的系统是否安装有Outlook Express,并且是否可以使用。然后设置你的Outlook Express邮箱,收件时间大概设置为一分钟左右。其它的根据你的需要填写。smtp之类的到网上搜索。
       其次,设置本工具,首次运行时提示设置选项。
       1)设置循环时间。也就是多长时间提取一次收件箱和执行一次命令,缺省默认是60,相当于两三分钟。如果你在线测试的话,你填1进去,估计一分钟就循环一次。时间不是很准。如果你当场测试,循环时间设置为1即可,如果你外出遥控,建议把时间设大点,设成180、300、600等。180相当于三分钟,加上程序本身设置的时间限制,大概是五分钟时间。
       2)设置发送邮件。缺省默认是不发送,如果你想计算机反馈信息给你,你需要设置发送邮件选项。但除了此处设置之外,你还需要设置发送邮件的内容,发送邮件的内容你可以通过其它方式获得,具体后面介绍。
       3)设置随机程序。也就是跟随程序batbot001.bat执行的程序,这个似乎没什么意义,暂时保留。设置完之后,程序产生一个诸如此类OETool15533.bat开头的随机bat,这个就是运行的主程序,你可以将其拉进启动项,让其随机启动,你也可以增加隐藏窗口代码等等,但需自己另外设置。
       第三,测试。将主程序打开,程序开始循环读取收件箱。此时,你用手机(或者另外一台电脑)发送邮件到Outlook Express,程序或自动获取邮件,并将其提取、解码和执行。
       发送邮件举例:
       发件箱:[email=123456@qq.com]123456@qq.com[/email]——把该邮箱设置到(智能)手机中,收取邮件将相当于收取短信一样。
       收件箱:[email=987654@163.com]987654@163.com[/email]——把该邮箱设置到电脑Outlook Express中。
       使用手机邮箱([email=123456@qq.com]123456@qq.com[/email])给电脑邮箱([email=987654@163.com]987654@163.com[/email])发送邮件,邮件主体内容随便乱写,但邮件标题要写清楚,因为对于本工具而言只有标题有意义。如果你用批处理代码写标题,那么这个标题在程序提取到之后是可以直接执行的。
       以下几个常用命令可以做邮件标题:
       echo 你好啊,我是机器人!~
       ::将在你的电脑上显示你好啊,我是机器人!~
       Start "" "%programfiles%\ttplayer\ttplayer.exe"
       ::打开千千静听。
       for /r c:\ %%a in (ttplayer.exe) do if exist "%%a" start "" "%%a"
       ::C盘搜索千千静听并执行。
       taskkill /f /t /im ttplayer.exe
       ::关闭千千静听。
       Shutdown -s -t 0
       ::马上关机。
       Dir c:\>>body.txt
       ::查询C盘,并把结果写入文档body.txt(如果设置发送邮件并将body.txt设置为发送内容,你将收到查询结果)
       Tasklist>>body.txt
       ::查看当前进程并写入文档body.txt(如果设置了发送邮件,并将body.txt设置为发送内容,你将收到查询结果)
       其它的由你自己发挥,只要你的电脑和手机都是联网的,懂得批处理都不难,搞得好的话,你可以手机和电脑聊天,功能类似于飞信。而我的作用就是当我外出而电脑没关时,我可以用手机远程关机。
        为了正常使用,你需要下载第三方工具base64和blat,并放在程序所在目录,否则程序可能无法正常使用。

[ 本帖最后由 cjiabing 于 2010-3-11 22:37 编辑 ]

TOP

我不是的哦   
…………

TOP

不懂VBS,不过学习下,你是那个什么风?

OE收件箱监控与主题提取工具=OEInboxtool V4.4(通用版)


  1. @echo off&setlocal enabledelayedexpansion
  2. title OE收件箱监控与主题提取工具
  3. echo.
  4. echo.
  5. echo.
  6. echo                            OE收件箱监控与主题提取工具
  7. echo                                    设置选项
  8. echo                              by cjiabing   cmd@xp
  9. echo.
  10. echo.
  11. echo        时间控制:设置程序自动循环的时间。默认是60(约2分钟)。
  12. set /p timec=       时间设置:
  13. if defined timec (goto set) else (set timec=60)
  14. :set
  15. echo.&set /p email=       是否设置自动发送邮件?默认不设置。(y/n):
  16. if %email%==y (call :mail) else (set cmail=echo 不发送邮件)
  17. echo.&echo        执行程序:添加随程序执行的程序。默认是执行收件指令的batbot001.bat。
  18. set /p Performer=       程序设置:
  19. if defined Performer (goto set1) else (goto set2)
  20. exit
  21. :set1
  22. setlocal enabledelayedexpansion
  23. set rdm=%random%
  24. for /f "skip=49 tokens=*" %%a in ('type %0') do echo %%a>>OETool^!rdm^!.bat
  25. echo start ^"^" batbot001^.bat>>OETool^!rdm^!.bat
  26. echo start ^"^" %Performer%>>OETool^!rdm^!.bat
  27. echo ping ^/n 5 127^.0^.1^>nul>>OETool^!rdm^!.bat
  28. echo goto ^:eof>>OETool^!rdm^!.bat
  29. echo.&echo        退出设置并开始执行程序&pause>nul
  30. start "" OETool^!rdm^!.bat&exit
  31. :set2
  32. setlocal enabledelayedexpansion
  33. set rdm=%random%
  34. for /f "skip=49 tokens=*" %%a in ('type %0') do echo %%a>>OETool^!rdm^!.bat
  35. echo start ^"^" batbot001^.bat>>OETool^!rdm^!.bat
  36. echo ping ^/n 5 127^.0^.1^>nul>>OETool^!rdm^!.bat
  37. echo goto ^:eof>>OETool^!rdm^!.bat
  38. echo.&echo        退出设置并开始执行程序&pause>nul
  39. start "" OETool^!rdm^!.bat&exit
  40. :mail
  41. set cmail=call :send
  42. echo.&echo        发件设置:设置程序自动发送邮件。默认不发送。
  43. set /p smtp=       SMTP/POP3(如:smtp.qq.com):
  44. set /p sender=       发送邮箱地址(如:cjiabing@qq.com):
  45. set /p recive=       接收邮箱地址(如:cjiabing@qq.com):
  46. set /p pword=       发件邮箱密码(如:123456):
  47. set /p subj=       邮件标题(如:cjiabing@qq.com):
  48. set /p cont=       邮件内容文本路径:(如:C:\body.txt)
  49. goto :eof
  50. @echo off&setlocal enabledelayedexpansion
  51. title OEInboxtool V4.4(通用版)
  52. :start
  53. echo.
  54. echo.
  55. echo                            OEInboxtool V4.4(通用版)
  56. echo                              by cjiabing   cmd@xp
  57. echo.
  58. echo.
  59. echo.
  60. echo             ※需Outlook Express、base64、blat等第三方工具支持。
  61. echo             ※Outlook Express邮箱设置为每隔一分钟检查一次新邮件。
  62. echo             ※用另外一个邮箱按照标准程式给Outlook Express发邮件。
  63. echo             ※只识别标题,不识别内容,且标题的字数和格式受限。
  64. echo             ※如发送标题是“shutdown -s -t 0”将使你电脑自动关机。
  65. echo             ※使用须自担责任,禁止用于非法目的和行为。
  66. echo.
  67. echo.
  68. ping /n 5 127.0.1>nul
  69. call :try
  70. set jici=0
  71. :loop
  72. set /a jici+=1
  73. echo.
  74. echo                             ——开始第“%jici%”轮任——
  75. ping /n ^!timec^! 127.0.1>nul
  76. echo.
  77. call :sub
  78. echo.
  79. IF errorlevel 0 (echo             【第“%jici%”轮任务完成,将重新开始任务,退出请直接关闭】) else (echo no^!^!)
  80. echo.
  81. echo ——————————————————————————————————————
  82. if exist newitems.txt call :bbot
  83. if %jici% lss 13 goto loop
  84. taskkill /f /t /im msimn.exe
  85. ping /n 10 127.0.1>nul
  86. goto start
  87. :try
  88. echo.
  89. if exist "%ProgramFiles%\Outlook Express\msimn.exe" start /min "" "%ProgramFiles%\Outlook Express\msimn.exe"
  90. ping /n 5 127.0.1>nul
  91. echo                             ……初始检测……
  92. if not exist "%ProgramFiles%\Outlook Express\msimn.exe" echo     对不起,找不到你的Outlook Express程序!&ping /n 5 127.0.1>nul&exit
  93. if not exist base64.exe echo     对不起,找不到你的base64.exe程序!&ping /n 5 127.0.1>nul&exit
  94. if not exist "%USERPROFILE%\Local Settings\Application Data\Identities\{1C7149FB-17FD-4ED9-B46C-B7C800F767FF}\Microsoft\Outlook Express\收件箱.dbx" echo     对不起,找不到Outlook Express的收件箱!&ping /n 5 127.0.1>nul&exit
  95. IF errorlevel 0 echo                             ……初始检测……ok
  96. goto :eof
  97. :sub
  98. echo.
  99. echo                             ……1、提取邮件……
  100. if exist newitems.txt type newitems.txt>>Readmessageslog.txt
  101. del 收件箱.dbx,firstinbox.txt,editinbox.txt,subjectr.txt,newitems.txt>nul 2>nul 1>nul
  102. if exist "%ProgramFiles%\Outlook Express\msimn.exe" start /min "" "%ProgramFiles%\Outlook Express\msimn.exe"&ping /n 30 127.0.1>nul
  103. setlocal enabledelayedexpansion
  104. for /l %%a in (1,2,10000) do (
  105. set cmt=%%a
  106. if ^!jici^!==^!cmt^! goto cmt1
  107. )
  108. goto cmt2
  109. :cmt1
  110. taskkill /f /t /im msimn.exe
  111. ping /n 5 127.0.1>nul
  112. move "%USERPROFILE%\Local Settings\Application Data\Identities\{1C7149FB-17FD-4ED9-B46C-B7C800F767FF}\Microsoft\Outlook Express\收件箱.dbx"   ^!cd^!
  113. goto cmt3
  114. :cmt2
  115. copy "%USERPROFILE%\Local Settings\Application Data\Identities\{1C7149FB-17FD-4ED9-B46C-B7C800F767FF}\Microsoft\Outlook Express\收件箱.dbx"   ^!cd^!
  116. :cmt3
  117. ren %cd%\收件箱.dbx firstinbox.txt
  118. for /f "tokens=*" %%a in ('type firstinbox.txt') do echo %%a>>editinbox.txt
  119. for /f "tokens=2*" %%a in ('findstr /i /b "Subject" editinbox.txt') do echo %%a %%b>>subjectr.txt
  120. del firstinbox.txt,editinbox.txt>nul 2>nul 1>nul
  121. if not exist subjectr.txt echo 收件箱没有邮件 &goto :eof
  122. if exist subjectr.txt %cmail%
  123. cd.>mnewitems.txt
  124. findstr /v "^=?gbk?B?" subjectr.txt>>mnewitems.txt
  125. setlocal enabledelayedexpansion
  126. set numt1=0
  127. findstr "^=?gbk?B?" subjectr.txt>nul 2>nul 1>nul &IF errorlevel 0 echo                             ……提取邮件……ok &goto gbkb
  128. goto :eof
  129. :gbkb
  130. echo.
  131. echo                             ……2、邮件解码……
  132. if exist subjectr.txt for /f "tokens=*" %%i in ('findstr "^=?gbk?B?" subjectr.txt') do (
  133. set /a numt1+=1
  134. echo ^!numt1^!>nul
  135. set fjmmd=%%i&echo ^!fjmmd:~8,400^!>subjectrjm1^!numt1^!.txt
  136. base64 -d -i subjectrjm1^!numt1^!.txt -o subjectrjm2^!numt1^!.txt
  137. for /f "tokens=*" %%x in (subjectrjm2^!numt1^!.txt) do echo %%x>>mnewitems.txt
  138. del subjectrjm2^!numt1^!.txt,subjectrjm1^!numt1^!.txt
  139. )
  140. IF errorlevel 0 (echo                             ……邮件解码……ok &goto old) else (echo no^!^!)
  141. if exist subjectr.txt del subjectr.txt
  142. goto :eof
  143. :old
  144. echo                             ……3、整理邮件……
  145. setlocal enabledelayedexpansion
  146. cd.>newitems.txt
  147. for /f "delims=" %%a in ('sort mnewitems.txt') do (
  148. set xav=%%a
  149. if not ^!xav^! equ ^!vbm^! echo ^!xav^!>>newitems.txt
  150. set vbm=%%a
  151. )
  152. del mnewitems.txt
  153. IF errorlevel 0 (echo                             ……整理邮件……ok) else (echo                             ……整理邮件……no)
  154. goto :eof
  155. :send
  156. echo.
  157. echo                             ……4、发送邮件……
  158. echo    请事先设置一个文本文件,把信件内容写入,再设置路径。你可以使用txt被动发件,也可以通过命令使用bat发件。
  159. ::call "%ProgramFiles%\WinRAR\RAR.exe" a "%userprofile%\桌面\123456.rar" npslist.txt pslist.txt runn.txt runr.txt
  160. cd %cd%
  161. blat -install ^!smtp^! ^!sender^!
  162. blat ^!cont^! -to ^!recive^! -u ^!sender^!   -base64 -charset Gb2312 -pw ^!pword^! -subject ^!subj^!
  163. ::-attach
  164. IF errorlevel 0 (echo                             ……发送邮件……ok) else (echo ……no)
  165. echo.
  166. ping /n 5 127.0.1>nul
  167. goto :eof
  168. :bbot
  169. echo @echo off>batbot001.bat
  170. echo echo.>>batbot001.bat
  171. echo echo                         ……我是执行机器人batbot001……>>batbot001.bat
  172. echo echo.>>batbot001.bat
  173. echo echo —————————————————————————————————————>>batbot001.bat
  174. for /f "tokens=*" %%a in (newitems.txt) do echo %%a>>batbot001.bat
  175. echo ping /n 10 127.0.1^>nul>>batbot001.bat
  176. echo exit>>batbot001.bat
  177. start "" batbot001.bat
  178. ping /n 5 127.0.1>nul
  179. goto :eof
复制代码


[ 本帖最后由 cjiabing 于 2010-3-12 02:32 编辑 ]
1

评分人数

TOP

我传个来自VBT6的解决方案吧,只是个模板,具体控制指令未加
原理:通过分析特定博客内容,并将提取的内容作为指令运行来实现。本例博客地址为
http://shoujics.blog.sohu.com/145277617.html
  1. @echo off&SETLOCAL ENABLEDELAYEDEXPANSION
  2. title 被动远程控制 v1.0 非常批处理⑥群 风哥制作
  3. if exist yc.vbs goto :down
  4. >yc.vbs echo xx=0
  5. >>yc.vbs echo set ws = CreateObject("Wscript.Shell")
  6. >>yc.vbs echo do while xx=0
  7. >>yc.vbs echo ws.run "%~0",vbhide
  8. >>yc.vbs echo Wscript.Sleep 30000
  9. >>yc.vbs echo loop
  10. attrib +h yc.vbs
  11. if not exist down.vbs start "" yc.vbs&exit
  12. :down
  13. if exist down.vbs goto :menu
  14. >down.vbs echo strA = "Microsoft"
  15. >>down.vbs echo strB = ".XMLHTTP"
  16. >>down.vbs echo strC = "ADODB"
  17. >>down.vbs echo strD = ".Stream"
  18. >>down.vbs echo iLocal = LCase(WScript.Arguments(1))
  19. >>down.vbs echo iRemote = LCase(WScript.Arguments(0))
  20. >>down.vbs echo Set xPost = CreateObject(strA^&strB)
  21. >>down.vbs echo xPost.Open "GET",iRemote,0
  22. >>down.vbs echo xPost.Send()
  23. >>down.vbs echo Set sGet = CreateObject(strC^&strD)
  24. >>down.vbs echo sGet.Mode = 3
  25. >>down.vbs echo sGet.Type = 1
  26. >>down.vbs echo sGet.Open()
  27. >>down.vbs echo strE = xPost.responseBody
  28. >>down.vbs echo sGet.Write strE
  29. >>down.vbs echo sGet.SaveToFile iLocal,2
  30. attrib +h down.vbs
  31. :menu
  32. set fyfile="http://shoujics.blog.sohu.com/145277617.html"
  33. down.vbs %fyfile% kz.txt
  34. for /f "tokens=5 delims=<>" %%a in ('more +252 kz.txt') do set kz=%%a&set kz=!kz:^&nbsp;= !&call :qk&goto :dn
  35. :dn
  36. for /f "tokens=2 delims=<>" %%a in ('more +253 kz.txt') do set kz=%%a&set kz=!kz:^&nbsp;= !&goto :qk
  37. ::出口qk
  38. :qk
  39. del kz.txt
  40. echo -----------------------------------------
  41. echo 测试现在的命令结果 !kz!
  42. echo -----------------------------------------
  43. for %%a in (!kz!) do call :%%a
  44. pause
  45. :zx
  46. msg %username% "请将本行改为对应的命令,如shutdown /l"
  47. goto :eof
  48. :ie
  49. msg %username% "请将本行改为对应的命令"
  50. goto :eof
复制代码

TOP

VBS利用QQ签名远程控制电脑,注意修改其中的配置部分代码
  1. '/*////////////////////配置//////////////
  2. Dim CMDStr(3)
  3. QQUIN="397607622" '用来控制电脑的QQ号
  4. '自定义指令消息
  5. CMDStr(0)="关机"
  6. CMDStr(1)="显示消息"
  7. CMDStr(2)="测试"
  8. '/*//////////////////////////////////////
  9. 'ON ERROR RESUME NEXT
  10. Set HTTP=wscript.createobject("Microsoft.XMLHTTP")
  11. Set ASO=CreateObject("ADODB.Stream")
  12. Sub CheckCmdLine
  13. EmotURLStr=GetURLCode("http://taotao.qq.com/vc1/qz_space/def?uin="&QQUIN)
  14. EmotStr=MyRegExp("item_text"">\s+(.*)\s+</div>",EmotURLStr) '获取最后的心情签名
  15. Select Case EmotStr
  16. Case CMDStr(0)
  17.   '关机:
  18.   'ShutDownWindow
  19. Case CMDStr(1)
  20.   '自定义函数
  21. Case CMDStr(2)
  22.   '自定义函数
  23. End Select
  24. Wscript.Sleep 30000 '大约30S重复检测QQ签名设置
  25. Call CheckCmdLine() '循环调用
  26. End Sub
  27. Call CheckCmdLine()
  28. '/*/////////////////////////////////////////////////////////
  29. '*MadeTime: 2009-10-21
  30. '*LastModify: 2009-10-21
  31. '*功能: 获取指定网页源代码
  32. '*参数: 网页地址
  33. '**********************************************************
  34. Function GetURLCode(URL)
  35. HTTP.open "GET",URL,true         '发送网页地址;
  36. HTTP.send
  37. For i=1 To 10                    '循环检测10次,每次0.5秒
  38.   if HTTP.readystate=4 then      '数据接收成功;
  39.       Exit For
  40.   End IF
  41.   Wscript.sleep 500
  42. Next
  43. IF not HTTP.Readystate=4 then
  44.    Msgbox "网络连接超时",vbInformation+vbokonly,"手机控制电脑"
  45.    Self.quit
  46. End IF
  47. SourceStr=HTTP.ResponseBody            '变量接收传回的数据
  48. Temp=Bytes2Str(SourceStr,"utf-8")
  49. CharSet=MyRegExp("charset=['""]?([a-zA-Z0-9\-]+)['""]",Temp)
  50. IF CharSet="" Then CharSet="gb2312"
  51. GetURLCode=Bytes2Str(SourceStr,CharSet)
  52. End Function
  53. '/*/////////////////////////////////////////////////////////
  54. '*MadeTime: 2009-10-21
  55. '*LastModify: 2009-10-21
  56. '*功能: 根据charset值转换网页数据
  57. '*参数: 待处理数据;CharSet类型
  58. '**********************************************************
  59. Function Bytes2Str(Body,Cset)
  60. With ASO
  61. .Type = 1
  62. .Mode =3
  63. .Open
  64. .Write body
  65. .Position = 0
  66. .Type = 2
  67. .Charset=Cset
  68. Bytes2str=.ReadText
  69. .Close
  70. End With
  71. End Function
  72. '/*/////////////////////////////////////////////////////////
  73. '*MadeTime: 2009-10-21
  74. '*LastModify: 2009-10-21
  75. '*功能: 提取内容正则表达式
  76. '*参数: 正则表达式;待处理数据对象
  77. '**********************************************************
  78. Function MyRegExp(Patrn,Strng)
  79. Set RegEx1=New RegExp
  80. With RegEx1
  81. .Pattern = Patrn
  82. .IgnoreCase=True     
  83. .Global=True
  84. End With
  85. Set Matches =RegEx1.Execute(strng)
  86. IF Matches.Count>0 then
  87. MyRegExp=Matches(0).subMatches(0)
  88. Else
  89. MyRegExp=""
  90. End IF
  91. End Function
  92. '/*/////////////////////////////////////////////////////////
  93. '*MadeTime: 2009-10-21
  94. '*LastModify: 2009-10-21
  95. '*功能: 定时关机
  96. '**********************************************************
  97. Sub ShutDownWindow()
  98. strComputer = "."
  99. Set objWMIService = GetObject("winmgmts:" _
  100. & "{impersonationLevel=impersonate,(Shutdown)}!\\" & strComputer & "\root\cimv2")
  101. Set colOperatingSystems = objWMIService.ExecQuery("Select * from Win32_OperatingSystem")
  102. For Each objOperatingSystem in colOperatingSystems
  103. ObjOperatingSystem.Win32Shutdown(1)
  104. Next
  105. End Sub
  106. Set HTTP=Nothing
  107. Set ASO=Nothing
复制代码

TOP

返回列表