ファイル選択のダイアログを出すだけの関数なのですが、
BCCでは下記でダイアログが表示されるのに、VCではコンパイルは通ってもダイアログが表示されません。
FilePathとFileNameを""で初期化するように変更するとVCでも表示されるようになりました。
BCCではデフォルトで文字列の設定がされているのでしょうか?

void OpenFile()
{
OPENFILENAME ofn;
char FilePath[MAX_PATH], FileName[64];

memset(&ofn, 0, sizeof(OPENFILENAME));

ofn.lStructSize = sizeof(OPENFILENAME);
ofn.hwndOwner = g_hWndMain;
ofn.lpstrFilter = "All files(*.*)\0*.*\0\0";
ofn.lpstrFile = FilePath;
ofn.nMaxFile = sizeof(FilePath);
ofn.lpstrFileTitle = FileName;
ofn.nMaxFileTitle = sizeof(FileName);
ofn.Flags = OFN_FILEMUSTEXIST | OFN_HIDEREADONLY;
ofn.lpstrDefExt = "All files";
ofn.lpstrTitle = "ファイルを開く";

GetOpenFileName(&ofn);
}