现有一Client端程序,Release下编译的文件运行正常,另有一个程序定时启动该可执行文件,
BOOL bWorked;
STARTUPINFO suInfo;
PROCESS_INFORMATION procInfo;
char* m_Process = "F:\\MyExe.EXE";
memset (&suInfo, 0, sizeof(suInfo));
suInfo.cb = sizeof(suInfo);
bWorked = ::CreateProcess(m_Process,
  NULL,      // can also be NULL
  NULL,
  NULL,
  FALSE,
  NORMAL_PRIORITY_CLASS,
  NULL, 
  NULL,
  &suInfo,
  &procInfo);用该代码启动Client端程序时,log文档提示连接服务器失败,但单独运行Client端程序时又一切正常,这是为何?

解决方案 »

  1.   

    终于发现问题,开始时我是将连接服务器的相关信息放在一个文件中,程序运行时读取相关信息,这样单独生成的exe文件运行没有问题,但用另一个程序(用CreateProcess)启动它时,则连接服务器失败,我将连接服务器的相关信息定义成macro后生成的exe文件用另一个程序(用CreateProcess)就可正常运行,这是何故????????????????
      

  2.   

    老兄,是不是你的文件存放路径不对啊,
    当然要放到用CreateProcess的进程目录下面。
      

  3.   

    多半是路径不对。CreateProcess的NULL这么多啊,懒出问题了吧......