2012-10-06 119 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