質問

私は私のメインのアプリケーションから、私は別のを呼び出すことだろう、私のメインのアプリケーションを持っています モジュール(サードパーティ)が、私は特定の時間のためにそのmodule..itプロセスを呼び出すときsec.while 5を言って、私のメインのアプリケーションで、小さな操作を実行するために、そのことがいくつかとcommmandウィンドウでプロセスを示しproccessing information..now私メインアプリケーションの待機と呼ばれるモジュールは、そのprocess.Nowを終了するまではis..howそのprocess..Iを乱すことなく、私は、このコマンドウィンドウを隠す行うために私の質問のCreateProcessを使用しようとしましたが、動作しないようです...

例えば:私の主なアプリケーションは親プロセスであると呼ばれるアプリケーションが子process..Parentプロセスであることは、子供の独立していなければならない。

の下に私の例をprocess..check
int main()
{
  execl("c:\\users\\rakesh\\Desktop\\calledapplication.exe","c:\\users\\rakesh\\Desktop    \\calledapplication.exe",0);


}

code in calledapplication
int main
{
  printf("Rakesh");
}

今あなたが最初のプログラムを実行した場合...出力が同じに表示されます上記を考慮 コマンドウィンドウ(それはそのようなことはずの)...私は、メインアプリケーションがプロセスを作成したいが、それは子プロセスによって影響されるべきではない。

役に立ちましたか?

解決

CREATE_NO_WINDOWdwCreationFlagsパラメータでCreateProcessを渡します。

他のヒント

あなたはので、私は子供がコンソールアプリケーションであることを前提とし、「コマンドウィンドウ」について話しました。 その場合、あなたは別のconoleでプロセスを作成し、必要に応じてアイコン化または非表示にする新しいコンソールを強制することができます。 次のコードは、バッチファイル(mytest.bat)を解釈子プロセスを起動します。 私はそれが役立つことを願って。よろしくます。

#include <windows.h>
#include <stdio.h>

int main(int argc, char **argv)
{
STARTUPINFO si;
PROCESS_INFORMATION pi;
BOOL rv = FALSE;
WCHAR cmdline[] = TEXT("cmd.exe /c mytest.bat");

    memset(&si,0,sizeof(si));
    si.cb = sizeof(si);
// Add this if you want to hide or minimize the console
    si.dwFlags = STARTF_USESHOWWINDOW;
    si.wShowWindow = SW_HIDE; //or SW_MINIMIZE
///////////////////////////////////////////////////////
    memset(&pi,0,sizeof(pi));
    rv = CreateProcess(NULL, cmdline, NULL, NULL,
                           FALSE, CREATE_NEW_CONSOLE,
                           NULL, NULL, &si, &pi);
    if (rv) {
        WaitForSingleObject(pi.hProcess, INFINITE);
                printf("Done! :)\n");
    }
        else {
                printf("Failed :(\n");

    }

        return rv ? 0 : 1;
}
あなたは子プロセスの出力が別のウィンドウに表示したいのように

これが鳴ります。もしそうなら、あなたはCreateProcessを呼び出すと、むしろCREATE_NEW_CONSOLEを使用するよりも、exec*フラグを渡したい。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top