none
Windows7でCreateProcessがフリーズする。 RRS feed

  • 質問

  • OS:Windows7

    言語:VB6

    XP上で動かしていたプログラムを移植しておりますが

    CreateProcessで他プログラムを起動しようとしても

    フリーズしてしまいます。

    サポート情報「Windows 7 または Windows Server 2008 R2 では、CreateProcess 関数を使用してアプリケーションから 2 番目のアプリケーションを起動することはできません。」

    ではShell32.dllを置き換えれば良いと記述されていますので

    更新プログラムをダウンロードし実行すると「この更新プログラムはお使いのコンピュータには適用できません。」

    と出ます。

    環境には、そこに記述されている日付よりも新しいShell32.dll 2014/03/09 7:28が入っていますが

    フリーズしてしまいます。

    どうすれば宜しいでしょうか。

    ご指導お願いいたします。

    2014年5月16日 1:39

回答

  • 曖昧に「フリーズしてしまいます」と書かれていますが、「何が」フリーズするのでしょうか? アプリ? OS?

    CreateProcessの戻り値及びGetLastError()の値はどうなっていますか?

    挙げられているサポート情報KB979275はdwFlags引数にSTARTF_TITLEISAPPIDフラグを指定した場合の内容ですが、質問者さんはAppIdを使用しているのでしょうか? 使用していなければこのサポート情報とは無関係です。

    VB6の標準ライブラリではCreateProcessが用意されておらず、独自に定義する必要があったように思いますがその部分は正しいのでしょうか。そもそも質問文に記述するべきではありませんか?
    # 第2引数が間違ってるんじゃないかなぁ…?

    • 回答の候補に設定 星 睦美 2014年5月22日 2:58
    • 回答としてマーク 星 睦美 2014年5月26日 4:21
    2014年5月16日 4:48

すべての返信

  • 曖昧に「フリーズしてしまいます」と書かれていますが、「何が」フリーズするのでしょうか? アプリ? OS?

    CreateProcessの戻り値及びGetLastError()の値はどうなっていますか?

    挙げられているサポート情報KB979275はdwFlags引数にSTARTF_TITLEISAPPIDフラグを指定した場合の内容ですが、質問者さんはAppIdを使用しているのでしょうか? 使用していなければこのサポート情報とは無関係です。

    VB6の標準ライブラリではCreateProcessが用意されておらず、独自に定義する必要があったように思いますがその部分は正しいのでしょうか。そもそも質問文に記述するべきではありませんか?
    # 第2引数が間違ってるんじゃないかなぁ…?

    • 回答の候補に設定 星 睦美 2014年5月22日 2:58
    • 回答としてマーク 星 睦美 2014年5月26日 4:21
    2014年5月16日 4:48
  • フォーラム オペレーターの星 睦美です。
    エリックさん、こんにちは。

    返信がありませんので、佐祐理 さんからの返信を手がかりに解決されたのではないかと思います。
    フォーラムでさらに質問を続ける場合は詳しい情報をお知らせいただけると、役立つ回答が見つかりやすいと思います。
    ※参考になる回答がありましたら、投稿者からの[回答としてマーク] をお願いします。


    フォーラム オペレーター 星 睦美 - MSDN Community Support

    2014年5月23日 5:44