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 : Sélectionner tout - Visualiser dans une fenêtre à part
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;
// **************************************************