Raccourci bureau probleme "..."
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:
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++