51Testing软件测试论坛

 找回密码
 (注-册)加入51Testing

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 2991|回复: 4
打印 上一主题 下一主题

如何获取command窗口中的信息?

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2006-4-18 16:13:00 | 只看该作者 回帖奖励 |正序浏览 |阅读模式
如何获取command窗口中的信息?

我使用如下代码, 但是失败,谁能告诉我正确应该怎么做?


# Launch DOS Command Prompt
rc = invoke_application("cmd.exe","","",SW_SHOW);
wait(1);
if ( rc != E_OK) {
        tl_step("Opening cmd",FAIL,"Unable to open cmd. Error code: " & rc);
        return(rc);
}

tl_step("open_cmd",PASS,"cmd opened");
# Capture the handle and create a physical description
rc = reload ("win32api", 1, 1);
hWnd = FindWindowA("ConsoleWindowClass","C:\\" & windows_type & "\\System32\\cmd.exe");
DWIN = "{ handle: " & hWnd & " }";

if (win_exists(DWIN,5) != E_OK) {
  tl_step("open_cmd", FAIL,"DWIN window does not exist. Console not opened.");
  return(E_OPERATION_NOT_PERFORMED);
}

win_activate(DWIN);
set_window(DWIN,1);

type("cd temp" );
wait(1);
type("<kReturn>");

win_get_text (DWIN, text);



DWIN 的获取以及set, activate 都正常,但是win_get_text信息为空
why?
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
回复

使用道具 举报

该用户从未签到

5#
发表于 2006-4-20 19:07:00 | 只看该作者
呵呵, 这办法不错啊
回复 支持 反对

使用道具 举报

该用户从未签到

4#
发表于 2006-4-20 15:36:54 | 只看该作者
可以用Analog录制在CMD中的输入操作>右键选select all>Enter,然后打开个记事本Paste
回复 支持 反对

使用道具 举报

该用户从未签到

3#
发表于 2006-4-18 18:34:33 | 只看该作者
因为里面的编辑栏不是个控件, CMD只能整个识别为一个对象
CMD窗口本身也不是个标准的窗口(比如基于CWnd或CDialog)
回复 支持 反对

使用道具 举报

该用户从未签到

2#
发表于 2006-4-18 16:29:54 | 只看该作者
不是所有窗口上的文字都可以获取下来的
回复 支持 反对

使用道具 举报

本版积分规则

关闭

站长推荐上一条 /1 下一条

小黑屋|手机版|Archiver|51Testing软件测试网 ( 沪ICP备05003035号 关于我们

GMT+8, 2024-11-26 02:47 , Processed in 0.067948 second(s), 26 queries .

Powered by Discuz! X3.2

© 2001-2024 Comsenz Inc.

快速回复 返回顶部 返回列表