无法作为进程执行命令

时间:2012-10-06 03:32:03

标签: c windows

  

可能重复:
  trying to create a simple shell in c for win32 api

我正在Windows中进行一些C编程以进行低级编码分配,但我正试图让这个创建过程正常工作。我试图尝试执行一个命令作为一个进程,你可以把任何命令放入dos提示符。我主要是尝试执行“dir” 在一个单独的过程中。谁能明白为什么这不起作用?

if (!CreateProcess(NULL, "dir",
        NULL,
        NULL,
        TRUE,
        0,
        NULL,
        NULL,
        &si,
        &pi))
    {
        fprintf(stderr, "Create Process directly has Failed\n");
        return -1;
    }

1 个答案:

答案 0 :(得分:0)

由于dir是内置的cmd.exe,因此您需要运行cmd,即将lpApplicationName设置为cmd.exe并将lpCommandLine设置为dir