delphi 中如何把控制台 输出到界面里的Demo控件中

delphi 中如何把控制台 输出到界面里的Demo控件中,第1张

改成这样就可以了

WinExec('cmd /c devcon resources =ports > pResourcetxt', SW_SHOWNORMAL);//不是两个>

sleep(1000);//不要少了这行,不然可能还没输出文档就执行下一条语句了

Memo1LinesLoadFromFile('pResourcetxt');

如何获取cmd窗口中的内容

我说的获取cmd窗口的内容, 而不是网上说的那个通过管道输入cmd命令后得到返回信息,

只是监视cmd窗体,

比如:

用个时钟来监视cmd窗体, 自己直接在cmd窗体中输入命令后, 时钟会获取cmd窗体内容

目前想到的办法是 通过发送消息个cmd窗体的系统菜单中全选 复制 ,然后通过剪切板读取,

但是很不稳定 经常出现 can什么的错误, 也就是 剪切板错误

------解决方案--------------------

好像这个比较难,我记得好像需要“管道”什么东西,DOS时代的。

和windows常规方法还是不同的。

------解决方案--------------------

你监测别人的就不一样了,有不确定因素,比如别人开了几个窗口,用findwindow只能得到最前的

另外隐藏窗口调的cmd你也检测不到, 还有我觉得复制内容要设置光标吧

我想最好的办法还是hook,这样所有命令都会经过,或者就直接遍历系统进程,有cmd就注入一个dll,来截取内容。

------解决方案--------------------

如果cmd窗口的命令行xxxexe是你自己发的,可以让它同时生成到一个文本文件

xxxexe &>> c:\xxxout

------解决方案--------------------

这种需求,建议使用Tdoscommand

和plink一起使用,可以控制linux。。。。。。。

{Unit pas}

通过这个单元的Button 调用另一个实例

procedure TForm Button Click(Sender: TObject); begin ShellExecute(Handle open project exe HelloWorld nil SW_SHOWNORMAL); end;

{Unit pas}

接受参数的实例

procedure TForm FormCreate(Sender: TObject); begin Edit Text := ParamStr( ); end; lishixinzhi/Article/program/Delphi/201311/24848

还是用CMD,CALL命令就可以。

比如,你要截获"C:\123bat"输出结果。

你就这样写

CALL "C:\123bat">C:\123运行结果txt

截获的信息就保存在“C:\123运行结果txt”文件里面了。

以上就是关于delphi 中如何把控制台 输出到界面里的Demo控件中全部的内容,包括:delphi 中如何把控制台 输出到界面里的Demo控件中、delphi 判断是否有 cmd 窗口、Delphi exe实例之间传递cmd参数等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/10140964.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-05
下一篇 2023-05-05

发表评论

登录后才能评论

评论列表(0条)

保存