
Envoyé par
ElGat0
Ça ressemble à un problème classique d'Unicode : la fonction attend le type LPTSTR qui peut être un char* classique ou un wchar_t* selon ce que tu as défini comme option pour la compilation.
Une macro permet de passer en wchar_t*, c'est
L"le texte à transformer".
Donc soit tu modifies tes options de projet, soit tu écris:
CreateProcess(NULL,L"c:\\windows\\notepad.exe C:\\Documents and Settings\\asis\\Bureau\\[Sauvegarde_trace]Tue_May_18_16'48'32_2010.csv",0,0,FALSE, CREATE_DEFAULT_ERROR_MODE,0,0, &siStartupInfo,&piProcessInfo)
La macro, ce n'est pas L mais _T(). L indique au compilateur qu'il s'agit d'une chaîne de wchar_t et non de char.
Donc, tu dois plutôt écrire
CreateProcess(NULL,_T("c:\\windows\\notepad.exe C:\\Documents and Settings\\asis\\Bureau\\[Sauvegarde_trace]Tue_May_18_16'48'32_2010.csv"),0,0,FALSE, CREATE_DEFAULT_ERROR_MODE,0,0, &siStartupInfo,&piProcessInfo)
Sinon, ça compilera bien en unicode, mais plus en ascii. L'autre solution, c'est de toujours utiliser la version unicode :
CreateProcessW(NULL,L"c:\\windows\\notepad.exe C:\\Documents and Settings\\asis\\Bureau\\[Sauvegarde_trace]Tue_May_18_16'48'32_2010.csv",0,0,FALSE, CREATE_DEFAULT_ERROR_MODE,0,0, &siStartupInfo,&piProcessInfo)
Partager