delphi调用CMD命令的问题
我用如下代码调出了CMD窗口,并且实现了ping s:='/k ping '; ShellExecute(Handle,nil,'cmd.exe',pchar(s),nil,SW_show); 请问我应该如何在delphi里得到ping的返回值。 我的本意是想通过ping 来判断电脑连接到公网上没有。如果能够将ping的返回值存到一个文本文件中,我就可以利用这个文本文件进行判断。 希望各位指点我一下,如果各位有更好判断局域网内机器是否接到公网的办法,欢迎提出(注意:是局域网共享上网) 我还有一个想法是通过获取电脑的IP地址来判断,但是我试过很多方法,都只能获得电脑在局域网内的IP地址,如果谁知道如何获得电脑在公网的IP地址,也欢迎提出 十分感谢,怀着感激的心情将100分送上(如果有特别的USE VAR 请一定要一并提出)。
得到ping返回值有两种方法: 1、修改s:='/k ping >aaa.txt';这样很简单的就把返回情况转向到aaa.txt。 2、若想精确控制ping的情况,可以考虑使用idicmpclient控件(在indy client)的ping方法。具体看一下控件的帮助。 3、至于你说的获取公网地址,要看你是否是网管。使用共享上网,大多是使用地址转换,每台机器应该没有公网地址,而是在路由(作为网关的设备)动态地维护了一个内网地址——外网地址:端口映射表。外网地址就一个,一旦内址联通外网,用不同的端口对应不同的内址。所以,只有网管员才有可能登陆设备查看,也可以通过这个表知道内址是否联通外网。 不知道我说的是否有帮助!
答:以ado为例,新增一个ADOStoredProc1,设置其connection属性为正确的连接,设置其procedurename为你所说的存储过程的名称,执行其...详情>>
答:的意思是找不到指定的文件,你确定你的文件路径正确吗? 另外,调用的部分你用 n(shcmd)试试详情>>