就像你在u413.com上看到的:屏幕上有文字,一封又一封,看起来很酷,
我想在控制台中做同样的事情
我获得了版本1.2的源代码;因为我不需要版本2的所有复杂性;我只需要一个简单的命令提示符,文本逐个地出现在屏幕上。我不需要大多数由控制台提供的内置功能,如透明度、任务栏图标等。
源代码库非常小,只有大约5个文件。
主类文件似乎是Console.cpp;
因为控制台就像一个GUI应用程序,所以不会写入STDOUT。
但以下是所发生的事情;
一个句柄被调用;该句柄显然是写到控制台上的;
m_hStdOut = ::GetStdHandle(STD_OUTPUT_HANDLE);现在,我想要做的是:以某种方式读取句柄;查看它有什么文本;并在其中添加一个循环,其中包含::休眠(20)方法;以确保文本逐个字母地出现。
@Alf P. Steinbach --我编写了psuedo代码,用于制作睡眠命令(在java中)--我还在我编写的所有其他java程序中都使用了它,但缺点是它只适用于我的程序,而不是在命令提示符下运行的所有程序,但我不知道的是编写控制台、windows控制台子系统程序的代码,我希望它能够在java中使用,这样我也可以在linux上使用它,但是现在,让我问你我到底在想什么……
一个简单的程序,从屏幕上获取输入,发送到cmd.exe进行处理,然后发回回复,我所要做的就是在每个字符之间添加一个睡眠命令.
我所需要的只是帮助,在完成这件事的过程中,我希望你能用这个启动我,并可能提供链接和参考来完成这个任务。
发布于 2011-12-05 01:15:48
这个Console.cpp看起来像一个控制台仿真器,意味着它运行其他程序。您不需要源代码,您可以运行现有的控制台应用程序。
STD_INPUT_HANDLE、STD_OUTPUT_HANDLE和STD_ERROR_HANDLE是STDIN、STDOUT和STDERR的窗口句柄。他们也是这样做的,只是在如何使用它方面有一些不同之处。
如果您想将控制台集成到代码中,那么您必须理解它,并找到它自己的输出函数并调用它。但不会是任何标准的手柄之类的东西。
https://stackoverflow.com/questions/8373155
复制相似问题