Bonjour

SVP
J'ai un probleme avec les guillemets dans un raccourci creer par programe
qui me rajoute automatiquement dans la fenetre cible la commande entre guillemets
alors qu'il ne faudrais pas.
si je retire les espaces de cette commande je n'ai plus les guillemets mais le raccourci ne marche plus.
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
25
26
27
28
29
30
31
32
 
 HRESULT ccn;
 IShellLink *LNKn;
 WORD cdic[MAX_PATH];
 
 CoInitialize(NULL);
 ccn = CoCreateInstance(CLSID_ShellLink, NULL, CLSCTX_INPROC_SERVER,
                        IID_IShellLink,(LPVOID *)& LNKn);
 
 AnsiString zouro = ExtractFilePath(Application->ExeName);
 AnsiString rezug = zouro + "\\ICLcreatico.ICL";
 
 if(SUCCEEDED(ccn))
   {
   IPersistFile *actonun;
   LNKn->SetPath("%windir%\\system32\\shutdown.exe -r -t 0");//Cible qui doit être ouvert
   LNKn->SetDescription("Redémarrer");
   LNKn->SetWorkingDirectory("%windir%");
   LNKn->QueryInterface(IID_IPersistFile,(LPVOID *)&actonun);
   LNKn->SetIconLocation(rezug.c_str(), 2);//Icone pour le raccourci
 
 LPITEMIDLIST idlste;
 if(SHGetSpecialFolderLocation(0, CSIDL_DESKTOP, &idlste)== NOERROR)
   {
   char cBufln[MAX_PATH];
   SHGetPathFromIDList(idlste, cBufln);
   Label4->Caption = cBufln + AnsiString("\\Redémarrer.lnk");//Nom + chemin du raccourci sur le bureau
   MultiByteToWideChar(CP_ACP, 0, Label4->Caption.c_str(), -1,(LPWSTR)cdic, MAX_PATH);
   actonun->Save((LPWSTR)cdic, true);
  }
 }
}
voici le code qui donne la commande cible
LNKn->SetPath("%windir%\\system32\\shutdown.exe -r -t 0");//Cible

ce qui donne dans le raccourci la cible "%windir%\\system32\\shutdown.exe -r -t 0"
alors qu'il faudrais ceci %windir%\\system32\\shutdown.exe -r -t 0

Ca fait une longtemp que je cherche mais sans succées parceque les guillemets se mettes toute seul.
J'ai essayer avec TReplace etc.. mais rien n'y fait ?
Merci et A++