ファイルのオープンでファイル名を取得する時に、
GetOpenFileNameが0を返してファイル名を取得するダイアログが出ない時がある。
これは、時々あって、出なかったり出たりなどする時があっていつもハマる。
答えは、ファイル名を取得する変数をキレイにしてからAPIに渡す。
具体的には
memset(&ofn,0x00,sizeof(OPENFILENAME));
// 追加ここから
memset(szFile,0x20,sizeof(szFile)); szFile[0] = '\0';
// 追加ここまで ofn.lpstrFile = szFile; // 選択ファイル名格納 ofn.nMaxFile = sizeof(szFile); // ファイル名サイズ
こんな感じで、02とか\0とかでしっかりクリアしておくとダイアログ出てくる。
いつもハマるんだよね~。時々しか使わないしこれ。
0 件のコメント:
コメントを投稿