お世話になります。
当方の環境 VS2008
Win32 Application(文字セット Unicode)
Vista Homepremium
現在以下の様に記述しているのですが、GetSaveFileName()が
ダイアログが表示されることなくFALSEで終了します。
その後のGetLastError()の戻り値も0となっており、何が問題
となっているのか見当もつきません。
どなたかお分かりになる方が居られましたらご教授お願いします。
{
TCHAR fname[MAX_PATH];
OPENFILENAME ofn;
/***/
ZeroMemory(&ofn, sizeof(OPENFILENAME));
ofn.lStructSize = sizeof(OPENFILENAME);
ofn.hwndOwner = hDlg;
ofn.hInstance = hInst;
ofn.lpstrFilter = TEXT(*.csv(csvファイル)\0*.csv\0\0);
ofn.nFilterIndex = 0;
ofn.lpstrFile = fname;
ofn.nMaxFile = MAX_PATH;
ofn.lpstrFileTitle = NULL;
ofn.lpstrTitle = NULL;
ofn.Flags = OFN_OVERWRITEPROMPT | OFN_FILEMUSTEXIST;
ofn.lpstrDefExt = TEXT(csv);
/***/
if (GetSaveFileName(&ofn) == FALSE)
{
DWORD er = GetLastError();
}
}
>fname
も初期化しましょう。
GetLastErrorでは無くCommDlgExtendedErrorを使いましょう。