读书人

利用CreateProcess打开另一个进程并传

发布时间: 2012-04-27 11:57:44 作者: rapoo

利用CreateProcess打开另一个进程并传递必要的参数?
各位大侠好!我想用CreateProcess打开一个进程,比如自己写的播放器,但是需要给其传递待播放视频的路径和视频名,如何实现该参数的传递,如何让播放器获得该传递参数并正确执行?希望大虾指导...

[解决办法]
我觉得没有办法
。。。。。。
等高手来答。
[解决办法]
ShellExecute();函数
Parameters 参数
[解决办法]
  char szCommandLine[] = "c:\\mymp3player.exe 1.mp3";   
STARTUPINFO si = { sizeof(si) };   
PROCESS_INFORMATION pi;   
BOOL bRet = CreateProcess (NULL, szCommandLine, NULL, NULL, FALSE, 0, NULL, NULL, &si, &pi) ;   
if(bRet)   
{
//创建成功
 }

你的播放器用GetCommandline 来获取输入参数,也就是这儿的"c:\\mymp3player.exe 1.mp3"
[解决办法]
app的InitInstance里就可以
[解决办法]
用这个API你还要解析字符串。

这样试试:
  for (int i=0;i<__argc;i++)
  {
   szParam = __argv[i];
  }
另外要注意,CreateProcess的第一个参数为NULL时,argv[0]就是exe名称,用的时候注意下,还有就是每个参数最好加一对“”。 你试试
[解决办法]
AfxGetApp()->m_lpCmdLine;

读书人网 >C++

热点推荐