Convert a short pathname to a longTag(s): Powerscript
The API GetLongPathName was introduced with Win98 and is unavailable on Win95 or WinNT but OK with XP.
[local external definition] FUNCTION ulong GetLongPathName( & REF String lpszShortPath, & REF String lpszLongPath, & ULong cchBuffer ) & LIBRARY "kernel32.dll" ALIAS FOR "GetLongPathNameA" [powerscript] ContextKeyword lcxk_base string ls_path_short string ls_path_long string ls_values[] this.GetContextService("Keyword", lcxk_base) lcxk_base.GetContextKeywords("temp", ls_values) IF Upperbound(ls_values) > 0 THEN ls_path_short = ls_values[1] ELSE ls_path_short = "*UNDEFINED*" END IF MessageBox("short",ls_path_short) // ex : C:\DOCUME~1\Real\LOCALS~1\Temp ls_path_long = space(255) GetLongPathName(ls_path_short, ls_path_long, 255); MessageBox("long",ls_path_long) // ex : C:\Documents and Settings\Real\Local Settings\Temp
To do the conversion long to short, use GetShortPathName API. In PB10, you may need to use the Unicode version, so use the "ALIAS GetLongPathNameW" instead.
mail_outline
Send comment, question or suggestion to howto@rgagnon.com
Send comment, question or suggestion to howto@rgagnon.com