c - 无法作为进程执行命令

标签 c windows

Possible Duplicate:
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;
    }

最佳答案

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

关于c - 无法作为进程执行命令,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12756456/

相关文章:

c - 调用recv()后总线错误/如何接收chunked压缩数据

c - Linux内核中嵌入锁的动态分配/释放结构

c++ - 为什么 malloc 总是返回 NULL

windows - _NT_SYMBOL_PATH 格式/它是递归的吗?

windows - 如何在命令行中从重复显示切换到多个显示器

c - C中复合类型的目的是什么?

c - struct 声明 typedef struct A { ... } B; 是什么意思?意思是?

c - 写入帧缓冲区

python -/bin/env : python: No such file or directory (Windows through Git Bash trying to install new Parse Cloud Code)

c++ - 在 Try/Catch 处理程序中获取 pContext?