Posted By: Dzon (aurinko) on 'CZprogram'
Title:     Re: dlouha jmena na vfat - kdyby to nekdo potreboval
Date:      Thu Aug 26 10:04:21 1999

> mam problem. Potrebuju pouzivat adresar Program Files, ale z Borland C
> [urcite 
> neumi dlouha jmena]. Z pochopitelnych duvodu se nemuzu spolehnout ze se ten 
> adresar bude jmenovat PROGRA~1.

Je to celkem trivka [hm, jak pro koho :-|]
Kdyby to nekdo potreboval:

#include <dos.h>

char *long2short(char *LongFileName)
{
  int ret;
  char shortname[128];
  union REGS regs; struct SREGS sregs;

  regs.x.ax=0x7160;
  regs.x.cx=1;
  sregs.ds=FP_SEG(LongFileName);
  regs.x.si=FP_OFF(LongFileName);
  sregs.es=FP_SEG(shortname);
  regs.x.di=FP_OFF(shortname);
  ret=intdosx(®s,®s,&sregs);
  return shortname;
}

jeste je dobry ohlidat navratovou hodnotu v ret, ale kdo chce tak si s tim 
pohraje...

 
                                                  -Dzon

**    Masochisticke prirozene sklony nejsou sice zakladni podminkou    ** 
**             k pouziti Windows, ale velice pomahaji                  **

Search the boards