• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:ShellExecuteをつかって・・・)

ShellExecuteを使ってコンパイルするとエラーが出る理由は?

このQ&Aのポイント
  • 特定の識別子が定義されていないため、ShellExecuteを使ってコンパイルするとエラーが発生します。
  • 前のプロジェクトでは定義せずに使用できた可能性もありますが、使い方が誤っている可能性もあります。
  • ShellExecuteを使ってDOS窓を開くための関数を作成しようとしていますが、m_hWndが定義されていないためエラーが発生しています。

質問者が選んだベストアンサー

  • ベストアンサー
  • itohh
  • ベストアンサー率45% (210/459)
回答No.3

こんにちは。itohhといいます。 m_hWndは、CWndクラスのメンバ変数です。 FCwinView.cppの中にCCwinViewクラスのメンバ関数としてDosFcExe()を定義するのは ダメなのでしょうか?CCwinViewクラスは、CWndクラスの派生クラスなので、m_hWndメンバ変数 が使用できます。 >前に別プロジェクトでやったときは特に定義せず使えたような気がするのですが CWndクラスの派生クラスで使用したのではないですか?

yasutaka
質問者

お礼

回答ありがとうございます。 CFCwinViewクラスで作り直したらうまくいきました。 お礼が遅れて申し訳ありませんでした。

その他の回答 (2)

  • honiyon
  • ベストアンサー率37% (331/872)
回答No.2

こんにちは、honiyonです。  MFCの事はよく分かりませんが、 CFCwinApp:hWnd なんていうのを定義してみてはいかがですか?  CFCwinApp::DosFcExe() という関数の名前から予測してみました。  CFCwinAppというのがウインドウなら、CFCwinApp:hWndで、CFCwinAppウインドウのハンドルがとれるのではないでしょうか。  間違ってたらスイマセン。  参考になれば幸いです(..

yasutaka
質問者

お礼

なんとか解決しました。 いろいろありがとうございました。

  • honiyon
  • ベストアンサー率37% (331/872)
回答No.1

こんにちは、honiyonです。   m_hWnd変数は定義されていますか?   前の別プロジェクトでは、m_hWnd変数が定義されていたのだと思います。  参考になれば幸いです(..

yasutaka
質問者

お礼

回答ありがとうございます。 すいません何処でどう定義すれば良いのでしょう。 前の別プロジェクトで検索をかけても定義位置が見つかりませんでした。 手元の参考書にも定義のところは書いてなくて、親ウィンドのハンドルを使う (CWnd::m_hWnd)ってかいてあるだけです。 てっきりMFCかなんかのグローバルなオブジェクトだと思っていたのですが・・・。

関連するQ&A