有关进程创建,与子进程的路径指定

1.创建函数
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
);

2.创建进程
 STARTUPINFO startinfo={0};
 PROCESS_INFORMATION pinfo;
 startinfo.cb = sizeof(STARTUPINFO);

 startinfo.lpDesktop = "";
 startinfo.lpReserved = NULL;
 startinfo.lpTitle = NULL;
 startinfo.dwFlags = STARTF_USESHOWWINDOW;
 startinfo.cbReserved2 = 0;
 startinfo.lpReserved2 = NULL;
 startinfo.wShowWindow = SW_HIDE;// SW_SHOW; 

//获取进程的绝对路径。如:e:\aaa\bbb\pro.exe 
char out_pathName[MAX_PATH];
 ::GetModuleFileName(NULL,out_pathName, MAX_PATH); 
 CString path = out_pathName;
 path = path.Left(path.ReverseFind('\\'));
 path +="\\tools";

 bool bgood =CreateProcess(".\\tools\\DBBackUp.exe",
  NULL,//commLine
  NULL,
  NULL,//FALSE,//
  FALSE,//是否继承句柄
  0,//
  NULL,//环境的申明,为NULL默认与父进程的环境一致
  path,//路径,为NULL默认与父进程的exe路径是一致的。

ContractedBlock.gif ExpandedBlockStart.gif 子进程路径说明
None.gif路径说明:
None.gif父进程 e:\aaa\bbb\father.exe
None.gif子进程 e:\aaa\bbb\ccc\child.exe
None.gif子进程的程序对文件的读取是采用相对路径时,如需读取文件路径:e:\aaa\bbb\read.txt
None.gif子进程的程序相对路径读取设置为..\read.txt
None.gif为了父进程调用子进程时,子进程的程序能够正确获取文本内容,path的值应为:e:\aaa\bbb\ccc表示的是子进程的进程开始地址。
None.gifpath值为NULL,则子进程的进程开始地址则为e:\aaa\bbb即父进程的开始地址

"E:\\\\客户端\\客户端\\tools",//NULL
  &startinfo,
  &pinfo
  );


 if(!bgood)
 {
  ExMessageBox("产生进程失败!","",MB_OK);
  return ;
 }
 return ;

转载于:https://www.cnblogs.com/paopao/archive/2006/09/22/512014.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值