有什么方法可以对Windows中的CreateProcessAsUser创建的cmd使用自动完成功能吗?

时间:2019-07-10 02:19:44

标签: c windows cmd tabs

根据this example,我使用CreateProcessAsUser生成Windows cmd.exe。

然后将其句柄重定向到控制台应用程序,因此我的应用程序 看起来就像是一个cmd.exe。

我的问题是,有什么可以让我的控制台应用程序使用 标签自动补全,就像原始的cmd.exe一样?

当我按Tab键时,现在只输入“制表符空白”即可。

以下是此示例的主要代码段:

  PROCESS_INFORMATION pi;
  STARTUPINFO si;

  // Set up the start up info struct.
  ZeroMemory(&si,sizeof(STARTUPINFO));
  si.cb = sizeof(STARTUPINFO);
  si.dwFlags = STARTF_USESTDHANDLES;
  si.hStdOutput = hChildStdOut;
  si.hStdInput  = hChildStdIn;
  si.hStdError  = hChildStdErr;

  if(!CreateProcess(NULL,"C:\\Windows\\System32\\cmd.exe",NULL,NULL,TRUE,
                     CREATE_NEW_CONSOLE,NULL,NULL,&si,&pi))
     DisplayError("CreateProcess");

  // Set global child process handle to cause threads to exit.
  hChildProcess = pi.hProcess;

  // Close any unnecessary handles.
  if (!CloseHandle(pi.hThread)) DisplayError("CloseHandle");

0 个答案:

没有答案