比如執行system("dir");之后 怎么樣再返回到自己寫的c函數之中呢有沒有別的函數可以代替system();可是你說的ShellExecuteEx是在vc中的呀 沒有發子在tc中實現呀?
1 回答

慕后森
TA貢獻1802條經驗 獲得超5個贊
其實system函數執行之后,就會返回到你的程序了,這個函數是阻塞的。還有更靈活一些的,比如ShellExecuteEx,這個應該是非阻塞的,但是可以通過WaitForSingleObject使他變為阻塞。如果windows程序,也可以用CreatProcess()
那你看看是否可以使用exec和spawn兩個函數族的函數。
system中的exe加載過程是由os完成的,system只不過把一條命令行傳給了os,由os完成剩下的工作。
而exec和spawn是調用dos內核的4Bh功能自己加載一個子程序的,因此能夠比較細致地控制加載的過程。MCB申請由4B功能完成,子程序的PSP重構以及JFT的繼承由exec和spawn幫你做,而EVB塊的內容可以通過它們提供的參數讓用戶指定。spawn好象還可以通過4Dh獲得子程序的返回值(就是main的return值),是不是這樣不太記得了。
如果是在windows下編程,建議還是用VC吧,比較有用
- 1 回答
- 0 關注
- 219 瀏覽
添加回答
舉報
0/150
提交
取消