XPで開発したグラフィックアプリケーションをVistaで実行すると、エラーが発生する。
[開発環境]
言語:C言語 MFC WindowsAPI
コンパイル:VC2005
EXE生成OS :WindowsXP
[現象]
同じEXEファイルを三つを起動して、一つを終了すると、エラーが発生する。
----- メッセージ -----
○○.exeは動作を停止しました。
問題が発生したため、プログラムが正しく動作しなくなりました。
[ソース]
//----------------------
#define GetUwd(hWnd) ((LPUWD)GetWindowLong(hWnd, 0))
typedef struct uwd /* 構造体 */
{
/* ウィンドウ情報 */
LPSTR Label;
LPSTR SpLabel;
HWND hMainTreeWnd;
・・・・・・ /*省略 */
} UWD;
typedef UWD * LPUWD;
if (GetUwd(hTmpWnd)->hMainTreeWnd == hWnd)
//----------------------
[エラー箇所]
if文の構造体->hMainTreeWnd項目を参照するだけでエラーになります。
XPではエラーになりませんが、Vistaではエラーになるのはどうしてでしょうか?
宜しくお願い致します。