这个可执行文件是命令行形式执行的,有一些参数需要跟在可执行文件后输入,我该怎么调用啊?而且,在程序执行后,会有一些信息显示在屏幕上,我该如何屏蔽它们?谢谢

解决方案 »

  1.   

    SHELLEXECUTEINFO shellExecuteInfo;
    memset(&shellExecuteInfo, 0, sizeof(shellExecuteInfo));
    shellExecuteInfo.cbSize = sizeof(shellExecuteInfo);
    shellExecuteInfo.fMask = SEE_MASK_NOCLOSEPROCESS;
    shellExecuteInfo.hwnd = NULL;
    shellExecuteInfo.lpVerb = TEXT("open");
    shellExecuteInfo.lpFile = L"appman.exe";
    shellExecuteInfo.lpParameters=L" -s Apps :MSCONTACTS tpcutil.dll AMContacts";
    shellExecuteInfo.nShow = SW_SHOW;
    if (!ShellExecuteEx(&shellExecuteInfo))
    return 0;   // couldn't start Contacts, nothing to do ...
      

  2.   

    lstrcpy(szCmd,"/c del ");
        lstrcat(szCmd,szFile);
        lstrcat(szCmd," >> NUL");
    ShellExecute(0,0,szFile,szCmd,0,SW_HIDE)
      

  3.   

    The snippets above demostrate you how to 
    excute DOS command
    del <executable-path> >> NUL
    in background,hide from user!
      

  4.   

    WinExecute 或者 ShellExecute
      

  5.   

    调用其它应用程序的三种方法
    要调用其它的应用程序可以调用以下三个函数:1、UINT WinExec(  LPCSTR lpCmdLine,  // command line  UINT uCmdShow      // window style);
    2、HINSTANCE ShellExecute( HWND hwnd, LPCTSTR lpOperation, LPCTSTR lpFile, LPCTSTR lpParameters, LPCTSTR lpDirectory, INT nShowCmd );3、CreateProcess( LPCWSTR lpszImageName, LPCWSTR lpszCmdLine, LPSECURITY_ATTRIBUTES lpsaProcess, LPSECURITY_ATTRIBUTES lpsaThread, BOOL fInheritHandles, DWORD fdwCreate, LPVOID lpvEnvironment, LPWSTR lpszCurDir, LPSTARTUPINFOW lpsiStartInfo, LPPROCESS_INFORMATION lppiProcInfo); 
    WinExec最简单,两个参数,前一个指定路径,后一个指定显示方式。后一个参数值得说一下,比如用 SW_SHOWMAXMIZED方式去加载一个无最大化按钮的程序,比如Neterm,calc等等,就不会出现正常的窗体,但是已经被加到任务列表里了。ShellExecute较 WinExex灵活一点,可以指定工作目录。例如:ShellExecute(NULL,NULL,_T("readme.txt"),NULL,_T("c:\\temp"),SW_SHOWMAXMIZED)
    就是直接打开 c:\temp\readme.txt,而不用加载与 txt文件关联的应用程序,很多安装程序完成后都会打开一个窗口,来显示Readme.txt,就是这么作的。
    CreateProcess最复杂,一共有十个参数,不过大部分都可以用NULL代替,它可以指定进程的安全属性,继承信息,类的优先级等等.来看个很简单的例子:
     STARTUPINFO stinfo
    //启动窗口的信息
     PROCESSINFO procinfo //进程的信息
     CreateProcess(NULL,_T("notepad.exe"),NULL,NULL.FALSE,NORMAL_PRIORITY_ CLASS,NULL,NULL, &stinfo,&procinfo)其它参数的使用请参看MSDN有关文档
      

  6.   

    WinExec("test.exe param", SW_HIDE);
    隐藏运行test.exe , param 是传递给test.exe 的命令行参数