2012-10-06 47 views
0

可能重复:
trying to create a simple shell in c for win32 api无法为进程执行命令

我做Windows中的某些C编程的低级别编码的分配,我试图让这个创建过程可以工作。我试图尝试执行一个命令作为一个进程,你可以把任何命令放入dos提示符。我主要尝试在单独的过程中执行“目录” 。任何人都可以看到为什么这不起作用?

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

当打印错误消息,考虑打印实际的错误代码,以及(使用['GetLastError'](http://msdn.microsoft.com/en-us/library/windows/desktop/ms679360%28v=vs.85%29.aspx)函数)。 –

+3

http://stackoverflow.com/questions/9273721/trying-to-create-a-simple-shell-in-c-for-win32-api – Jeyaram

回答

0

由于dir是建立在你的cmd.exe需要运行CMD,即设置lpApplicationNamecmd.exelpCommandLine到DIR