怎样获取CMD/telnet命令框中的文本?(信息工具无法实现)
通过Windows自带的CMD命令,Telnet远程登录到一个主机后执行tasklist命令,此时会显示远程主机上正在运行的进程,请问怎样通过AU3判断CMD框中的文本存在某个指定的进程?谢谢!实现过程:Telnet-->输入User-->输入password-->tasklist-->然后获取CMD命令框中的文本!怎样获取啊????????
看了楼下的方法,但好像不能实现我要的功能,谢谢你!
例如,附件中smss.exe,要怎样利用AU3 判断出CMD中有smss.exe这个进程?(貌似用窗口信息工具无法获取到窗口中的任何文本!)
[ 本帖最后由 xkowen 于 2008-12-19 17:06 编辑 ] http://www.autoitx.com/forum.php?mod=viewthread&tid=2109
参考此贴
回复 2# pcbar 的帖子
看到了这个实例,但还是不知道怎么用,主要是怎么向CMD发送命令和接收数据!下面的代码都是对没有执行任何命令窗口捕获文本!我要的是这样的过程:Telnet-->User-->password-->tasklist-->然后获取CMD命令框中的文本!可不可以指点一下下,谢谢大虾了!
#include <Constants.au3>
$foo = Run(@ComSpec, @SystemDir, @SW_HIDE, $STDERR_CHILD + $STDOUT_CHILD)
ProcessWaitClose($foo)
$text=StdoutRead($foo)
MsgBox(0, "STDOUT read:", $text) :face (3): 哪位大虾出来指点一下下啊! 论坛上有很多帮助,你可以参考下
回复 5# hites 的帖子
看了啊!但是还是没有找到最佳办法来实现这种功能啊!大虾指点一下吧!:face (36): 唉,没人能告诉我,真郁闷ing... 如此~??#AutoIt3Wrapper_UseAnsi=y
#include <EditConstants.au3>
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
#include <Constants.au3>
#include <StaticConstants.au3>
GUICreate("进程获取", 640, 480, 193, 125)
$edit = GUICtrlCreateEdit("", 5, 5, 630, 440, $ES_READONLY + $WS_VSCROLL)
$Button1 = GUICtrlCreateButton("ok", 290, 455, 60, 20, 0)
GUISetState(@SW_SHOW)
While 1
$nmsg = GUIGetMsg()
Switch $nmsg
Case $GUI_EVENT_CLOSE
Exit
Case $Button1
get()
GUICtrlSetData($edit, @CRLF & '获取结束', -1)
EndSwitch
WEnd
Func get()
$foo = Run(@ComSpec & " /c " & 'tasklist', "", @SW_HIDE, $STDOUT_CHILD);如果要远程操作,这里可以使用RunAs函数
While 1
$line = StdoutRead($foo)
If @error Then ExitLoop
GUICtrlSetData($edit, $line, -1)
WEnd
EndFunc ;==>get
[ 本帖最后由 298311657 于 2009-3-15 14:15 编辑 ] 突然发现,tasklist支持远程读取,下面是tasklist的帮助
TASKLIST ]]]
| /SVC | /V]
描述:
这个命令行工具显示应用程序和本地
或远程系统上运行的相关任务/进程的
列表。
参数列表:
/S system 指定连接到的远程系统。
/U user 指定应该在哪个用户上下文
执行这个命令。
/P 为提供的用户上下文指定
密码。如果忽略,提示输入。
/M 列出所有其中符合指定模式名
的 DLL 模块的所有任务。
如果没有指定模块名,则
显示每个任务加载的所有模块。
/SVC 显示每个进程中的服务。
/V 指定要显示详述
信息。
/FI filter 显示一系列符合筛选器指定的标准
的任务。
/FO format 指定输出格式。
有效值: "TABLE"、"LIST"、"CSV"。
/NH 指定栏标头不应该在
输出中显示。
只对 "TABLE" 和 "CSV" 格式有效。
/? 显示帮助/用法。
筛选器:
筛选器名 有效操作符 有效值
----------- --------------- --------------
STATUS eq, ne 正在运行 | 没有响应
IMAGENAME eq, ne 图像名
PID eq, ne, gt, lt, ge, le PID 值
SESSION eq, ne, gt, lt, ge, le 会话编号
SESSIONNAME eq, ne 会话名
CPUTIME eq, ne, gt, lt, ge, le CPU 时间,格式为
hh:mm:ss。
hh - 时,
mm - 分,ss - 秒
MEMUSAGE eq, ne, gt, lt, ge, le 内存使用量(KB)
USERNAME eq, ne 用户名,格式为 user
SERVICES eq, ne 服务名
WINDOWTITLE eq, ne 窗口标题
MODULES eq, ne DLL 名
例如:
TASKLIST
TASKLIST /M
TASKLIST /V
TASKLIST /SVC
TASKLIST /M wbem*
TASKLIST /S system /FO LIST
TASKLIST /S system /U domain\username /FO CSV /NH
TASKLIST /S system /U username /P password /FO TABLE /NH
TASKLIST /FI "USERNAME ne NT AUTHORITY\SYSTEM" /FI "STATUS eq running" 测试了下这个,显示很好。
页:
[1]