- ベストアンサー
ShellExecuteを使ってコンパイルするとエラーが出る理由は?
- 特定の識別子が定義されていないため、ShellExecuteを使ってコンパイルするとエラーが発生します。
- 前のプロジェクトでは定義せずに使用できた可能性もありますが、使い方が誤っている可能性もあります。
- ShellExecuteを使ってDOS窓を開くための関数を作成しようとしていますが、m_hWndが定義されていないためエラーが発生しています。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
こんにちは。itohhといいます。 m_hWndは、CWndクラスのメンバ変数です。 FCwinView.cppの中にCCwinViewクラスのメンバ関数としてDosFcExe()を定義するのは ダメなのでしょうか?CCwinViewクラスは、CWndクラスの派生クラスなので、m_hWndメンバ変数 が使用できます。 >前に別プロジェクトでやったときは特に定義せず使えたような気がするのですが CWndクラスの派生クラスで使用したのではないですか?
その他の回答 (2)
- honiyon
- ベストアンサー率37% (331/872)
こんにちは、honiyonです。 MFCの事はよく分かりませんが、 CFCwinApp:hWnd なんていうのを定義してみてはいかがですか? CFCwinApp::DosFcExe() という関数の名前から予測してみました。 CFCwinAppというのがウインドウなら、CFCwinApp:hWndで、CFCwinAppウインドウのハンドルがとれるのではないでしょうか。 間違ってたらスイマセン。 参考になれば幸いです(..
お礼
なんとか解決しました。 いろいろありがとうございました。
- honiyon
- ベストアンサー率37% (331/872)
こんにちは、honiyonです。 m_hWnd変数は定義されていますか? 前の別プロジェクトでは、m_hWnd変数が定義されていたのだと思います。 参考になれば幸いです(..
お礼
回答ありがとうございます。 すいません何処でどう定義すれば良いのでしょう。 前の別プロジェクトで検索をかけても定義位置が見つかりませんでした。 手元の参考書にも定義のところは書いてなくて、親ウィンドのハンドルを使う (CWnd::m_hWnd)ってかいてあるだけです。 てっきりMFCかなんかのグローバルなオブジェクトだと思っていたのですが・・・。
お礼
回答ありがとうございます。 CFCwinViewクラスで作り直したらうまくいきました。 お礼が遅れて申し訳ありませんでした。