ですが難なくダイアログが表示されるので、デバッグした時に初めて気づきました。
またソフトを終了させる際に、ファイルをオープンさせて書き込みするときも以下の例外が発生し、書き込みが出来ない状態です。
(ダイアログを表示させなければ、ファイルの書き込みは成功します。)
fwrite関数の戻り値は「許可されない操作」というエラーでした。freadの時は正常です。
ファイルオープンは前回まで正常に動いていて、書き込みが出来なくなったのもGetOpenFileName関数を呼び出すようになってからです。
色々ググってみたりしましたが、この例外がPCのログイン時に出るとか、プリンタの印刷時に出るとか、原因が様々で特定できず困っています。
ダイアログ表示時に出るログ
・
・
スレッド 'Win32 スレッド' (0x152c) はコード 1 (0x1) で終了しました。
スレッド 'Win32 スレッド' (0x16ac) はコード 0 (0x0) で終了しました。
test.exe の 0x756bc41f で初回の例外が発生しました: 0x000006BA: RPC サーバーを利用できません。
スレッド 'Win32 スレッド' (0x6cc) はコード 0 (0x0) で終了しました。
test.exe の 0x756bc41f で初回の例外が発生しました: 0x000006BA: RPC サーバーを利用できません。
スレッド 'Win32 スレッド' (0x194) はコード 0 (0x0) で終了しました。
スレッド 'Win32 スレッド' (0x15ac) はコード 0 (0x0) で終了しました。
・
・ ofn.lStructSize = sizeof(ofn); // 構造体のサイズ
ofn.hwndOwner = Main_hd; // コモンダイアログの親ウィンドウハンドル
ofn.lpstrFilter = _T("MP3(*.mp3)\0*.mp3\0Ogg(*.ogg)\0*.ogg\0WAV(*.wav)\0*.wav\0All files(*.*)\0*.*\0\0"); // ファイルの種類
ofn.lpstrFile = filename_full; // 選択されたファイル名(フルパス)を受け取る変数のアドレス
ofn.lpstrFileTitle = filename; // 選択されたファイル名を受け取る変数のアドレス
ofn.nMaxFile = sizeof(filename_full); // lpstrFileに指定した変数のサイズ
ofn.nMaxFileTitle = sizeof(filename); // lpstrFileTitleに指定した変数のサイズ
ofn.Flags = OFN_FILEMUSTEXIST; // フラグ指定
ofn.lpstrTitle = _T("ファイルを選択"); // コモンダイアログのキャプション
ofn.lpstrDefExt = _T("mp3"); // デフォルトのファイルの種類WIndows 7 HP