aqui pedazo de codigo, segun lo solicitado; Estoy utilizando Visual C++, escribo todo el codigo, no utilizo nada pre definido, todo lo escribo a mano., no uso mfc, ni api, aunque no se como mostrar el dialogo abrir de la api de windows, lo he probado y no me sale.
VOID leebin(HWND hWnd)
{
char    codigo[8];
   int atribs;
   int nptos;
   long ptomax;
   long ptomin;
   long ptos;
   long atbtxt;
   int i;
   char *texto;
while(!feof(fbinario))
       {
   fread(codigo,1,8,fbinario); //lee binario
     fprintf(stream2,"%s\n",codigo);//pinta ascii
   fread(&atribs,2,1,fbinario);//lee binario
     fprintf(stream2,"%d\n",atribs);//pinta ascii
   fread(&nptos,2,1,fbinario);//lee binario
     fprintf(stream2,"%d\n",nptos);//pinta ascii
   for (i=1;i<=3;i++) //extrae minimos
   {
         fread(&ptomin,4,1,fbinario);//lee binario
          fprintf(stream2,"%d\n",ptomin);//pinta scii
   }
   for (i=1;i<=3;i++) //extrae maximos
   {
         fread(&ptomax,4,1,fbinario);//lee binario
           fprintf(stream2,"%d\n",ptomax);//pinta scii
   }
   for (i=1; i<=3;i++) //extrae atrib txt
   {
         fread(&atbtxt,4,1,fbinario);//lee binario
           fprintf(stream2,"%d\n",atbtxt);//pinta ascii
   }
   if (codigo[0]==67)
   {
         for (i=1;i<= (atribs * 3);i++)
        {
             fread(&ptos,4,1,fbinario);//lee binario
                fprintf(stream2,"%d\n",ptos);//pinta ascci
        }
   }
   else
   {
       if (codigo[0]==84)
       {
           for (i=1;i<= 3;i++)
           {
               fread(&ptos,4,1,fbinario);//lee binario
                               fprintf(stream2,"%d\n",ptos);//pinta ascii
           }
          //redimension de cadena de texto
         fread(texto,1,(atribs-1) * 12 ,fbinario);//lee binario
           fprintf(stream2,"%s\n",texto);//pinta ascci
       }
   }
   //limpiar variables
       }
//cerrar ficheros
return;
}