Problème de codage (caractères accentués) avec ShellApi.ShellExecute
Bonjour,
Comment lancer un fichier LNK dont le nom peut avoir des caractères accentués le tout sous lazarus 2.02 et Windows 10 en utilisant ShellApi.ShellExecute ?
Il doit bien y avoir une fonction ?
D'avance merci.
Exemple de code
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
| // **************************************************
function ExecuteFile(FileName, Params, DefaultDir: string;
ShowCmd: Integer): THandle;
var
zFileName, zParams, zDir: array[0..255] of Char;
begin
{$IFDEF Windows}
Result := ShellApi.ShellExecute(Application.MainForm.Handle, nil,
StrPCopy(zFileName, FileName), StrPCopy(zParams, Params),
StrPCopy(zDir, DefaultDir), ShowCmd);
{$ENDIF}
end;
// **************************************************
procedure TForm1.B_Lancer_LNKClick(Sender: TObject);
Var
Fichier_LNK: String;
begin
begin
Fichier_LNK:='C:\USERS\PIERRE_2\Desktop\CCleaner.lnk'; // Fonctionne correctement
Fichier_LNK:='C:\USERS\PIERRE_2\Desktop\CCleanerà.lnk'; // ERREUR A CAUSE DE à
IF ExecuteFile(ExtractFileName(Fichier_LNK),'',EXTRACTFILEPATH(Fichier_LNK),SW_SHOW)<=32 THEN Showmessage('Erreur');
end;
end;
// ************************************************** |