|
>Не строка это вовсе. Никто не обещал, что внутренний >буфер CString находится вначале. Здесь нужно было >написать m_strFileName.GetBuffer() (возвращает >неконстантную строку).
Не совсем так - буфер действительно возвратит ссылку на собственно строку, но потом его надо будет закрыть - то есть эта функция берет буфер на запись. Его нужно будет потом закрыть.
нужно вызвать функцию c_str().
кроме того:
BOOL CreateProcess(
LPCTSTR lpApplicationName,
LPTSTR lpCommandLine,
LPSECURITY_ATTRIBUTES lpProcessAttributes,
LPSECURITY_ATTRIBUTES lpThreadAttributes,
BOOL bInheritHandles,
DWORD dwCreationFlags,
LPVOID lpEnvironment,
LPCTSTR lpCurrentDirectory,
LPSTARTUPINFO lpStartupInfo,
LPPROCESS_INFORMATION lpProcessInformation
);
то есть CreateProcess не изменяет appName - да и с чего-бы.
|