创建可交互的命令行窗口

本文介绍如何在工程中创建一个可交互的命令行窗口,通过代码示例展示了如何实现对进程的远程控制,包括对HANDLE、PROCESS_INFORMATION等关键结构的使用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

    可交互命令行控制其实非常重要,我们经常用来远程控制一些进程。    

    这是我工程中的一段代码分享下。
HANDLE m_stdRead;
HANDLE m_stdin ;
HANDLE m_hHeap ;
HANDLE m_stdout ;
HANDLE m_stderr ;
PROCESS_INFORMATION m_pi;
CString m_strTilte ;
void CToolAdb::SetStart()

{
//创建控制台    
AllocConsole();  
m_stdin = GetStdHandle( STD_INPUT_HANDLE );
m_stdout = GetStdHandle( STD_OUTPUT_HANDLE ) ;
m_stderr = GetStdHandle( STD_ERROR_HANDLE );

SetConsoleMode( m_stdin ,ENABLE_LINE_INPUT | ENABLE_ECHO_INPUT | ENABLE_PROCESSED_INPUT );
SetConsoleTitle( m_strTilte );
STARTUPINFO si;

si.cb = sizeof( STARTUPINFO );
GetStartupInfo( &si );
si.hStdError = m_stderr;
si.hStdOutput = m_stdout ;
si.hStdInput = m_stdin ;
si.wShowWindow = SW_SHOW ;
si.dwFlags = STARTF_USESHOWWINDOW | STARTF_USESTDHANDLES;

if ( !CreateProcess(NULL, "cmd.exe", NULL,NULL,TRUE,NULL,NULL,NULL,&si,&m_pi))
return ;

}

   

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值