就是在用控制台api进行输入输出的时候在要求传入 输入输出句柄的地方 固定是那几个植
Option ExplicitPublic Declare Function AllocConsole Lib "kernel32" () As LongPublic Declare Function WriteConsole Lib "kernel32" Alias "WriteConsoleA" (ByVal hConsoleOutput As Long, lpBuffer As Any, ByVal nNumberOfCharsToWrite As Long, lpNumberOfCharsWritten As Long, lpReserved As Any) As LongPublic Declare Function ReadConsole Lib "kernel32" Alias "ReadConsoleA" (ByVal hConsoleInput As Long, lpBuffer As Any, ByVal nNumberOfCharsToRead As Long, lpNumberOfCharsRead As Long, lpReserved As Any) As LongSub main()
    Dim a As String * 3
    AllocConsole
    WriteConsole 11, ByVal "hello_world", 12, 0, 0 '请问这里为啥固定是7或者是11
    ReadConsole 3, ByVal a, 2, 0, 0 '这里为什么固定又是3
End Sub而且和GetStdHandle的结果是一样的 难道那几个植真的有什么含义么

解决方案 »

  1.   

    参考:http://binaryworld.net/Main/CodeDetail.aspx?CodeId=2200#copy
      

  2.   

    所有魔法数都在include\*.h文件中有定义。
      

  3.   

    console屏幕处理例子程序。终端窗口屏幕处理相关API使用例子。来自MSVC20\SAMPLES\win32\console\
    http://download.csdn.net/detail/zhao4zhong1/3461309
      

  4.   

    问题在于:看 API的参数,应该是传入“句柄”。
      但实际调用时,传入的并不象是句柄呀。
      

  5.   

    因为实际会用到getstdhandle函数,而getStdHandle的结果总是返回那几个值
      

  6.   

    下载一个好点的API浏览器吧, 包含了参数说明的.
    推荐一个:  FoxAPI