В чем проблема с моим путем внутри CString? - PullRequest
0 голосов
/ 11 июля 2011

Почему этот код не работает? (

  CString parameterA = _T("c:\Program Files\test\identify.exe");  
  CString parameterB = _T(" -format \"%w\" ") + pictureName;

  if (CreateProcess(parameterA.GetBuffer(), parameterB.GetBuffer(),0,0,TRUE,
          NORMAL_PRIORITY_CLASS|CREATE_NO_WINDOW,0,0,&sInfo,&pInfo))
          {
            WaitForSingleObject (pInfo.hProcess, INFINITE);
          }

Но когда я меняю ....

CString parameterA = _T("c:\Program Files\test\identify.exe"); 

до ..

CString parameterA = _T("identify.exe"); 

это просто работает.

Помоги мне ..

1 Ответ

1 голос
/ 11 июля 2011

Это косые черты.

CString parameterA = _T("c:\Program Files\test\identify.exe"); 

Обратите внимание, что у вас есть escape-последовательности \P, \t и \i, только одна из которых на самом деле что-то означает (\t является символом табуляции)и это не то, что вам действительно нужно!).

Вместо этого избегайте косых черт, чтобы они интерпретировались как косые черты:

CString parameterA = _T("c:\\Program Files\\test\\identify.exe"); 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...