Visual c++ 命令行CreateProcess在WinXP上执行,但不在Win7和Win8上执行

Visual c++ 命令行CreateProcess在WinXP上执行,但不在Win7和Win8上执行,visual-c++,command-line,windows-xp,createprocess,Visual C++,Command Line,Windows Xp,Createprocess,我正在Windows下使用cwRsync同步目录。我通过Visual C++代码VisualSudio 2008调用命令行。 我使用CreateProcess函数来执行它。 问题:在Windows XP上,同步工作正常。在Windows 7和8上,同步不工作。当我直接在cmd.exe下测试命令行时,它可以工作 Windows 7和8中的CreateProcess存在什么问题?没有错误消息,因为函数返回OK 我找到了解决办法。问题在于我使用的CreateProcess在XP中工作,但在Win7中不

我正在Windows下使用cwRsync同步目录。我通过Visual C++代码VisualSudio 2008调用命令行。 我使用CreateProcess函数来执行它。 问题:在Windows XP上,同步工作正常。在Windows 7和8上,同步不工作。当我直接在cmd.exe下测试命令行时,它可以工作

Windows 7和8中的CreateProcess存在什么问题?没有错误消息,因为函数返回OK


我找到了解决办法。问题在于我使用的CreateProcess在XP中工作,但在Win7中不工作

BOOL WINAPI CreateProcess(
  _In_opt_     LPCTSTR lpApplicationName,
  _Inout_opt_  LPTSTR lpCommandLine,
  _In_opt_     LPSECURITY_ATTRIBUTES lpProcessAttributes,
  _In_opt_     LPSECURITY_ATTRIBUTES lpThreadAttributes,
  _In_         BOOL bInheritHandles,
  _In_         DWORD dwCreationFlags,
  _In_opt_     LPVOID lpEnvironment,
  _In_opt_     LPCTSTR lpCurrentDirectory,
  _In_         LPSTARTUPINFO lpStartupInfo,
  _Out_        LPPROCESS_INFORMATION lpProcessInformation
);
之前:

lpApplicationName=NULL

lpCommandLine=C:\cwRsync\rsync.exe-recursive/cygdrive/d/documents//cygdrive/f/documents/

Windows XP=>OK,但Windows 7=>KO

现在:

lpaApplicationName=C:\cwRsync\rsync.exe

lpCommandLine=-recursive/cygdrive/d/documents//cygdrive/f/documents/


Windows XP=>正常和Windows 7=>也正常

生成的.exe没有权限?在Windows 7/8(而不是Windows XPI)中,以管理员身份运行.exe,但在Windows 7/8中尚未运行rsync命令