Attrib.exe ???.??? > a.txt
运行结果输出到a.txt
用vb打开就是结果

解决方案 »

  1.   

    楼上说得对。
    就是啊,对于DOS命令,利用重定向功能,输出到文件,再打开这个
    文件就可以获得返回的信息。不过以我的意见,其实这样做是没有必要的。基本上这种DOS文件命令都可以用
    VB中FILESYSTEM对象的方法来实现。
      

  2.   

    我基本同意楼上的。DOS是有点儿落后了。
      

  3.   

    没明白我的意思,我是想为一个命令行程序作一个shell,不是dos的文件功能。
      

  4.   

    那就用CreateProcess加管道输入输出。肯定能完成你的需要。仔细看看MSDN吧。
      

  5.   

    写成 把 shell 语句写入 控制台 程序。 再在 vb的 程序 中 嵌入。
      

  6.   

    示例程序将创建一个控制台窗口,并输出提示信息,要用户输入自己的url。用户输入名字后,程序输出问候信息,并等待用户按键返回。本文的示例程序在VB5.0中文版下调试通过。
    Option Explicit
    ' API函数声明
    Private Declare Function AllocConsole Lib "kernel32" () As Long
    Private Declare Function FreeConsole Lib "kernel32" () As Long
    Private Declare Function GetStdHandle Lib "kernel32" (ByVal nStdHandle As Long) As Long
    Private Declare Function ReadConsole Lib "kernel32" Alias "ReadConsoleA" _
    (ByVal hConsoleInput As Long, ByVal lpBuffer As String, ByVal nNumberOfCharsToRead _
    As Long, lpNumherOfCharsRead As Long, lpReserved As Any) As Long
    Private Declare Function WriteConsole Lib "kernel32" Alias "WriteConsoleA" _
    (ByVal hConsoleOutput As Long, ByVal lpBuffer As Any, ByVal nNumberOfCharsToWrite _
    As Long, lpNumberOfCharsWritten As Long, lpReserved As Any) As Long
    Private Declare Function SetConsoleMode Lib "kernel32" (ByVal hConsoleOutput As Long, _
    dwMode As Long) As Long
    Private Declare Function SetConsoleTitle Lib "kernel32" Alias "SetConsoleTitleA" _
    (ByVal lpConsoleTitle As String) As Long
    Private Declare Function SetConsoleTextAttribute Lib "kernel32" _
    (ByVal hConsoleOutput As Long, ByVal wAttributes As Long) As Long
    '定义API函数中用到的所有常量
    'GetStdHandle函数的 nStdHandle参数的取值
    Private Const STD_INPUT_HANDLE = -10&
    Private Const STD_OUTPUT_HANDLE = -11&
    Private Const STD_ERROR_HANDLE = -12&
    'SetConsoleTextAttribute函数的wAttributes参数的取值(按RGB方式组合)
    Private Const FOREGROUND_bLUE = &H1
    Private Const FOREGROUND_GREEN = &H2
    Private Const FOREGROUND_RED = &H4
    Private Const FOREGROUND_INTENSITY = &H8
    Private Const BACKGROUND_BLUE = &H10
    Private Const BACKGROUND_GREEN = &H20
    Private Const BACKGROUND_RED = &H40
    Private Const BACKGROUND_INTENSITY = &H80
    'SetConsoleMode的输入模式
    Private Const ENABLE_LINE_INPUT = &H2
    Private Const ENABLE_ECHO_INPUT = &H4
    Private Const ENABLE_MOUSE_INPUT = &H10
    Private Const ENABLE_PROCESSED_INPUT = &H1
    Private Const ENABLE_WINDOW_INPUT = &H8
    'SetConsoleMode的输出模式
    Private Const ENABLE_PROCESSED_OUTPUT = &H1
    Private Const ENABLE_WRAP_AT_EOL_OUTPUT = &H2
    Private hConsoleIn As Long '
      

  7.   

    CreateProcess&CreatePipe,如何使命令行的那个DOS窗不出现?如何将参数里的长文件名转化为8.3格式?