私は英国に拠点を置くソフトウェアハウスで働いています。最近 64 ビット Windows に移植したプログラムがあります。64 ビット版を構築すると同時に、Visual Studio 2003 から 2010 に切り替え、MFC のコードページ バージョン (mfc100.dll) を引き続き使用しました。
プログラムを完全にリリースした直後に、64 ビット Windows 7 を使用している日本のユーザーからバグ レポートを受け取りました。名前に日本語の文字が含まれているファイル (またはフォルダー名に日本語の文字が含まれているファイル) を対話的に開いた場合、プログラムが失敗し、「不適切な引数が見つかりました」というメッセージが表示されます。
ファイルを新しい名前で保存しようとすることも同様です。プログラムの Visual Studio 2003 バージョンは期待どおりに動作します。
このプログラムは、MFC クラスの CFileDialog を使用してユーザーにプロンプトを表示し、Windows の CopyFile() 関数を使用してユーザー指定の場所との間でファイルをコピーします。
これを解決する方法の手がかりはありますか?