手动实现如下操作:在“运行”窗口输入cmd进入命令行状态,然后输入“D:\Test.exe -tp”可以进行Test程序调用,现希望之前所有操作用程序实现,如何实现?我试过CreateProcess函数,但不知道Test.exe执行程序后面的“-tp”参数该如何传递进去?请高手指教!

解决方案 »

  1.   

    1.用syetem可以直接调用.有控制台窗口.
    int system( const char *command );2.CreateProcess调用时,可以用lpCommandLine来传递参数3.也可以用ShellExecute调用
      

  2.   

    http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dllproc/base/createprocess.asplpCommandLine
      

  3.   

    STARTUPINFO si;
     ZeroMemory(&si,sizeof(si));
     si.wShowWindow = SW_SHOW;
     char cmdLine[] = _T("D:\\Test.exe -tp");
     PROCESS_INFORMATION ProcessInformation;
                                                                                    
     CreateProcess(NULL,cmdLine,NULL,NULL,1,CREATE_NEW_CONSOLE,
                   NULL,NULL,&si,&ProcessInformation);
      

  4.   

    SHELLEXECUTEINFO si;
    ZeroMemory(&si, sizeof(si));
    si.cbSize = sizeof(SHELLEXECUTEINFO);
    si.fMask = SEE_MASK_NOCLOSEPROCESS;
    si.hwnd = NULL;
    si.lpVerb = NULL;
    si.lpFile = "D:\\Test.exe";
    si.lpParameters = " -tp";
    si.lpDirectory = NULL;
    si.nShow = SW_SHOW;
    ShellExecuteEx(&si);
      

  5.   

    STARTUPINFO si;
     ZeroMemory(&si,sizeof(si));
     si.wShowWindow = SW_SHOW;
     char cmdLine[] = _T("D:\\Test.exe -tp");  //这个不是传进去了么
     PROCESS_INFORMATION ProcessInformation;
                                                                                    
     CreateProcess(NULL,cmdLine,NULL,NULL,1,CREATE_NEW_CONSOLE,
                   NULL,NULL,&si,&ProcessInformation);
      

  6.   

    ShellExecute(NULL, "open", "D:\Test.exe", "-tp", "", SW_HIDE);