|

分享源码
界面截图: |
|
是否带模块: |
纯源码 |
备注说明: |
- |
CMD这个东西大家应该知道,匿名管道大家也应该知道
不知道的看看解析吧:
- 匿名管道是一种进程间的通讯方式,是相对于命名管道的概念提出的。
- 命名管道可用于任意两个进程间的通讯。
- 匿名管道仅可用于本地进程,并且必须是父进程与子进程间的通讯。
- 它的优点是运行速度快,系统消耗小。缺点就是以上的限制条件啦。
复制代码
这个还是很简单的了,就是一个进程通讯吧
网上关于用匿名管道仿CMD的帖子不少,可谁又做得了高仿?还别说,我真做出来了
先丢点图镇楼:
左边这个是假的(仿),右边是真,哈哈,这是点阵字体哦!!
原理:
1、建立WINGDOWS控制台程序
2、然后写代码:
标准输出 (1, #CMD基本输出信息 + #换行符 ) 判断循环首 (1 = 到整数 (“1”)) 标准输出 (1, #换行符 + 取运行目录 () + “>”) 输入内容 = 标准输入 (真) SECURITY_ATTRIBUTES.nLength = 12  SECURITY_ATTRIBUTES.lpSecurityDescriptor = 0  SECURITY_ATTRIBUTES.bInheritHandle = 1 CreatePipe (hRead, hWrite, SECURITY_ATTRIBUTES, 0 )  STARTUPINFO.cb = 68  STARTUPINFO.dwFlags = 位或 ( #STARTF_USESHOWWINDOW, #STARTF_USESTDHANDLES ) STARTUPINFO.wShowWindow = #SW_HIDE  STARTUPINFO.hStdOutput = hWrite  STARTUPINFO.hStdError = hWrite  如果 (取操作系统类别 () ≤ 2 ) CreateProcess (0, “command.com /c ” + 输入内容, 0, 0, 真, 0, 0, 0, STARTUPINFO, PROCESS_INFORMATION )  CreateProcess (0, “cmd.exe /c ” + 输入内容, 0, 0, 真, 0, 0, 0, STARTUPINFO, PROCESS_INFORMATION )   CloseHandle (hWrite )  判断循环首 (len ≠ -1 )  PeekNamedPipe (hRead, 0, 0, 0, len, 0 )   如果 (len ≠ 0 )   txt = 取空白字节集 (1024 )  ReadFile (hRead, txt, 1023, len, 0 )   标准输出 (1, 取字节集数据 (txt, #文本型, ))   GetExitCodeProcess (PROCESS_INFORMATION.hProcess, EXIT )    如果真 (EXIT ≠ #STILL_ACTIVE )    CloseHandle (hRead )    跳出循环 ()     处理事件 () 输出调试文本 (到文本 (len ))  判断循环尾 () 判断循环尾 ()返回 (0 )
哈哈,用WINDOWS控制台,界面什么的就不用愁了!输出点信息都是点阵字体!!
然后读入输入文本开启管道就是了,是不是特别简单呢?
老规矩:源码回复下载!
如果你觉得可以的,好评打赏走一波~
超仿CMD.zip
(11.62 KB, 下载次数: 1038)
|
评分
-
查看全部评分
|