2011-07-11 10 views
0

なぜこのコードは機能しませんか? :(CString内の私のパスに何が問題がありますか?

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"); 

それだけで動作します。

が私を助けて...

+0

なぜあなたは同じ質問を12回を掲載している:彼らはスラッシュとして解釈されますので、

代わりに、スラッシュをエスケープ? 1つを除くすべてを削除し、あなたの問題を完全に1つに投稿してください! – Ajay

答えて

1

スラッシュです

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

あなたはエスケープシーケンスに\P\t\iを持っていることに注意してください、の一方のみが実際に(\tはタブ文字で、あなたが本当に欲しいものではありません!)何かを意味します。

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

ありがとう!それを解決した:) – karikari

関連する問題