高分求教:如何做一个命令行程序壳?
我以前见过用到这种技术的软件,但是我不知道这种技术确切来说叫什么,以及怎么实现。
比如说我现在有一个命令行程序a.exe,我现在要执行它。在VB里可以用shell语句执行。那么现在会跳出一个命令行窗口。
然而这样的用户界面显然是不友善的,我需要的是执行a.exe,不会出现这个窗口,同时我可以获得a.exe在命令行窗口的所有信息。
换言之,a.exe之前从键盘接受数据(input),输出数据到命令行窗口(output),而我现在希望它把我的程序当成I/O,由我的程序接管它的输入输出。
查了好久MSDN都没头绪……还请各位高手赐教。
[解决办法]
UP
[解决办法]
是不是类似这种的?
Option ExplicitPrivate Sub Command1_Click() Call GetMacAddressEnd SubFunction GetMacAddress() As String Dim i&, j&, OutChar$ Dim fn As Byte, pos1&, pos2&, ArrayChar$(1) '输出IP信息 Shell "cmd /c ipconfig/all > C:\Ping", vbHide fn = FreeFileRETRY: Open "c:\ping" For Binary Access Read As #fn OutChar$ = Space$(FileLen("c:\ping")) '读取IP信息 Get #fn, , OutChar$ Close #fn If Len(OutChar$) = 0 Then GoTo RETRY '搜索Physical Address pos1 = InStr(OutChar$, "Physical Address") Do While pos1 <> 0 '搜索:标志 pos2 = InStr(pos1, OutChar$, ":") '取MAC Address, 长度18 ArrayChar(j) = Mid$(OutChar$, pos2 + 1, 18) '判断是否有多个网卡 pos1 = InStr(pos2, OutChar$, "Physical Address") If pos1 <> 0 Then j = j + 1 Loop For i = 1 To j + 1 MsgBox "第" & i & "个网卡的MAC ADDRESS 是" & ArrayChar(i - 1) Next Kill "C:\Ping"End Function
[解决办法]
学习了
[解决办法]
路过,学习...............
[解决办法]
mark
有兴趣学习。
[解决办法]
关注
[解决办法]
这应该叫重定向吧,比如1.exe ,然后手工输入一些东西,最简单的在dos下,可以用
debug < 1.asm > a.com