On 13-5-2012 5:59, dmitry boyarintsev wrote:
> I'm assuming that everyone is aware of the solution for this.
> Every unicode file name still has ANSI-dos name (aka ShortName).
> You could write a function that would return a short name based on
> unicode name of a file. And pass the short name to Assign File
> function.
> 
> thanks,
> Dmitry

Hi Dmitry,

Do you mean the ShortName as the 8.3 name defined on this page:
http://msdn.microsoft.com/en-us/library/windows/desktop/aa365247%28v=vs.85%29.aspx#file_and_directory_names
... it states
"When you create a long file name, Windows may also create a short 8.3
form of the name, called the 8.3 alias, and store it on disk also."
So it isn't compulsory to store the 8.3 filename - which is confirmed
later on by:
"8.3 aliasing cannot be disabled for specified volumes until Windows 7
and Windows Server 2008 R2."... implying it can be disabled in Win7 and
2K8R2

Looking at the GetShortPathName function
http://msdn.microsoft.com/en-us/library/windows/desktop/aa364989%28v=vs.85%29.aspx
... the text itself only says the function can fail - not when it is
likely to failx.
Comment below does shed more light:
"GetShortPathName fails to create a short filename if the file doesn't
have a short file name."..."You can turn this option off by using the
"System Policy Editor" (Poledit.exe). Certain file systems also don't
support creation of short names by default"

Or are you talking about a different way of getting a short name?

Thanks,
Reinier
_______________________________________________
fpc-pascal maillist  -  fpc-pascal@lists.freepascal.org
http://lists.freepascal.org/mailman/listinfo/fpc-pascal

Reply via email to