Anonymous
Anonymous asked in 電腦與網際網路程式設計 · 1 decade ago

請問如何執行DOS命令 而不跳出命令提示字元視窗

請問一下

我於LINUX下有開發C function

想直接拿來WINDOWS下執行 (加入別人的程式碼內)

source codec可用DEV C正確編譯完成(都是以gcc為核心)

因為別人是用visual C++開發 我無法順利編譯我的function codec

所以就用dev c直接編譯一個執行檔 ...

再於visual C++ 程式內加入system("MyFunction.exe");

我程式寫死了 ~ 預設路徑 動作之類的 都安排好了

沒有回傳資訊display....

但執行此一執行檔 就一定會跳出命令提示字元視窗

執行完畢 自動關掉

如果迴圈執行 會有一堆黑色視窗在開開關關

如何讓這視窗不要顯示呢 ??

謝謝

Update:

請問可以說明清除點嗎

我不會用哩 @@

謝謝

2 Answers

Rating
  • SiYu
    Lv 5
    1 decade ago
    Favorite Answer

    FILE *_popen( const char *command, const char *mode );

    command 要執行的程式

    mode

    "r"

    The calling process can read the spawned command’s standard output via the returned stream.

    "w"

    The calling process can write to the spawned command’s standard input via the returned stream.

    "b"

    Open in binary mode.

    "t"

    Open in text mode.

    或是用

    _execl, _execle 等等function

    要不然更麻煩的用windows API

    CreateProcess(...)

    詳細用法

    2007-05-02 14:07:58 補充:

    #include <stdio.h>

    #include <process.h>

    int main()

    {

    int i=_spawnl(_P_WAIT,"yourcommand.exe","yourcommand.exe",NULL);

    }

    因為你的程式不需要任何輸入輸出. 用_spawnl 最適合

    如reutrn 為-1 表示程式直形失敗.

    請參考http://msdn2.microsoft.com/en-us/library/20y988d2(...

    Source(s): MSDN Library, MSDN LIB
  • 1 decade ago

    沒試過,你試試看這樣行不行!

    system("myFunction.LNK");

    在 myFunction.LNK 裡的

      Shortcut 下,Run 選 Minimized

     或

      Compatibility 下 勾 Disable Visual Themes

    2007-05-02 18:37:51 補充:

    spawn 是好招,我怎忘了?

    以前常用!

    看來我直的是老了。

    spawn( ) 系的程式有很多,看你適用哪一個。

    _spawn( ) 通常是非標準,建議使用標準的。

    不過,VC 好像沒有提供 spawn, 只提供了 _spawn。 :S

    2007-05-02 18:44:56 補充:

    system( "___" ) 是由 command.com 去解釋 ___ 來跑程式,所

    以比較慢,程式能拿到的 RAM 比較小!

    但,它可以跑 DIR, VER, PAUSE 等 command.com 的內建命令。

    spawn_ 系的東東是直接用 OS 的 process 去跑,不經由 command.com。

    所以,能控制的東東較多,程式拿得到的 RAM 比較多。

    但,它不能跑內建命令。

Still have questions? Get your answers by asking now.