最新閲覧日:

ひろと申します。
クライアントからサーバの共有フォルダにある、他のアプリケーションを
オプション付きで起動させるプログラムをVC++で作成したのですが、
クライアントがNTだとうまくいきません。
たとえば、サーバ上にあるapp.exeを「app.exe /i」のような感じで
起動すると、クライアントがwin98の場合はアプリケーションが
表示されるのですが、NTから起動させようとすると、
アプリケーションは表示されません。
また、オプションを外すとアプリケーションは NTでも表示されます。
APIは、WinExec,ShellExecuteEx,CreateProcessで試したのですが
同じ結果でした。
CreateProcess は以下のように設定してます。
------------------------------------------------------------------
STARTUPINFO si;
PROCESS_INFORMATION pi;
ZeroMemory(&si, sizeof(STARTUPINFO));
ZeroMemory(&pi, sizeof(PROCESS_INFORMATION));
si.cb = sizeof(STARTUPINFO);
si.dwFlags = STARTF_USESHOWWINDOW;
si.wShowWindow = SW_SHOWNORMAL;
CreateProcess(NULL, "serverpath\\app.exe /i", NULL, NULL, FALSE, 0, NULL, NULL, &si, &pi);

プロセスの起動は成功していうようです。
クライアントがNTの場合、他に必要な設定があるのでしょうか?
よろしくお願いします。

A 回答 (1件)

Windows98 で OK で、WindowsNT で駄目、ということであれば、権限周りを


疑いたくなりますが、オプションの指定を外すと、NT でも OK ってのが
良く分かりませんね。

> プロセスの起動は成功していうようです。

というのは、CreateProcess() の戻り値を確認した、ということでしょうか?

もし、確認していないのであれば、確認しましょう。もし FALSE で返っている
ようであれば、GetLastError() でエラー番号を調べましょう。

もし TRUE で返っているようであれば、どうしましょうか。とりあえずは、
タスクマネージャーで、プロセスが起動されてウィンドウが表示されていない
のか、プロセス自体いない(起動された直後に終了している可能性を疑う)のか
を確認してみるところから、問題を切り分けるのかなあ…
    • good
    • 0
この回答へのお礼

回答ありがとうございます。
a-kumaさんの回答を参考に調べてみたところ、
どうやら、起動アプリ側の不具合のようでした。
大変、ご迷惑をおかけしました。ありがとうございました。

お礼日時:2001/10/03 18:03

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!


このカテゴリの人気Q&Aランキング

おすすめ情報

カテゴリ