もしかしたら非常に簡単な問題かもしれないんですけど、
SDIベースでShellExecuteをつかって以下のような関数を作ってコンパイルすると、
”error C2065: 'm_hWnd' : 定義されていない識別子です。”
がでます。
前に別プロジェクトでやったときは特に定義せず使えたような気がするのですが、
何か使い方が間違っているのでしょうか?

#include "stdafx.h"
#include "FCwin.h"

#include "MainFrm.h"
#include "FCwinDoc.h"
#include "FCwinView.h"

・・・中略・・・

int CFCwinApp::DosFcExe()
{

HINSTANCE ret = ShellExecute(m_hWnd,"open","command.com",NULL,"c:\\",SW_SHOW);
if((int)ret <= 32 ){AfxMessageBox("DOS窓開けません",MB_OK);return 1;}
return 0;

}

このQ&Aに関連する最新のQ&A

とは シェル」に関するQ&A: シェルとは

A 回答 (3件)

こんにちは。

itohhといいます。

m_hWndは、CWndクラスのメンバ変数です。

FCwinView.cppの中にCCwinViewクラスのメンバ関数としてDosFcExe()を定義するのは
ダメなのでしょうか?CCwinViewクラスは、CWndクラスの派生クラスなので、m_hWndメンバ変数
が使用できます。

>前に別プロジェクトでやったときは特に定義せず使えたような気がするのですが
CWndクラスの派生クラスで使用したのではないですか?
    • good
    • 0
この回答へのお礼

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

お礼日時:2001/06/14 10:30

こんにちは、honiyonです。



 MFCの事はよく分かりませんが、 CFCwinApp:hWnd なんていうのを定義してみてはいかがですか?

 CFCwinApp::DosFcExe() という関数の名前から予測してみました。
 CFCwinAppというのがウインドウなら、CFCwinApp:hWndで、CFCwinAppウインドウのハンドルがとれるのではないでしょうか。

 間違ってたらスイマセン。
 参考になれば幸いです(..
    • good
    • 0
この回答へのお礼

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

お礼日時:2001/06/14 10:32

こんにちは、honiyonです。



  m_hWnd変数は定義されていますか?
  前の別プロジェクトでは、m_hWnd変数が定義されていたのだと思います。

 参考になれば幸いです(..
    • good
    • 0
この回答へのお礼

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

お礼日時:2001/06/13 20:48

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


人気Q&Aランキング

おすすめ情報