On Wed, 9 Mar 2016, John Landmesser wrote:
Hi,
if i call a windows API function for special folder, like:
uses
...
shlobj;
var
AppDataPath: Array[0..MaxPathLen] of Char;
begin
SHGetSpecialFolderPath(0,AppDataPath,CSIDL_STARTUP,false);
end;
I get on a german localized Windows XP a path containing "\Startmenü\", but the "ü" is
"?" in the resulting string.
Howto convert the chars in AppDataPath to get the "Umlauts" correct?
Use the W variant of the call, and user widechar.
var
AppDataPath: Array[0..MaxPathLen] of WideChar;
begin
SHGetSpecialFolderPathW(0,AppDataPath,CSIDL_STARTUP,false);
Then convert to UTF8 using UTF8Encode() if you want to display it in a LCL
application.
Michael.
--
_______________________________________________
Lazarus mailing list
Lazarus@lists.lazarus.freepascal.org
http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus