以下のプログラムをWinXPで実行すると問題ないんですが
以前、9x系OSで試した所、失敗した様な記憶があります。
テストしようにも、今現在 9x系OSの環境が無いのでテスト出来ません。
宜しければどなたかお教え願いませんでしょうか?

CFile File;
char path[_MAX_PATH];

::GetModuleFileName(NULL, path, _MAX_PATH);
if(!File.Open(path, CFile::modeRead)){ TRACE("Error!\n"); }
File.Close();