有啊,用的多点的应该是
WinExec()

解决方案 »

  1.   


    还问。
    很多,每一种都可以带参数
    ShellExecute,
    WinExec
    CreateProcess
    .......
      

  2.   

    Kingron 请给详细一点的说明
      

  3.   

    function ShellExecute( 
        hWnd: HWND;//调用者窗口句柄 
        Operation, FileName, Parameters,Directory: PChar;
        //Operation:操作动词(如Open、Print、Edit等,如果FileName是EXE一般只可能是Open,其它用于文档文件)
        //FileName:打开的文件名;带路径
        //Parameters:参数
        //Directory: 工作目录。
        //Operation为nil表明是缺省动作,就是你在资源管理器中双击它时的动作。
        ShowCmd: Integer
        //SW_NORMAL:正常显示;SW_HIDE:隐藏...见MSDN:ShowWindow的帮助 
        ): HINST; stdcall;function ShellExecuteEx(lpExecInfo: PShellExecuteInfo):BOOL; stdcall;
    //使用一个结构传递参数,可以得到被调用者的进程句柄,可以用WaitForSingleObject(lpExecInfo^.hProcess,INFINITE)来等待它结束。function WinExec(lpCmdLine: LPCSTR; uCmdShow: UINT): UINT; stdcall;
    //这是一个旧的API功能很弱,不建议使用CreateProcess和CreateProcessAsUser比较复杂,在这里就不讲了。ShellExecute和ShellExecuteEx可以运行EXE,Doc,Txt,Pas,dpr(如果安装了Delphi)等。
    如果要得到被运行的程序的进程句柄,以便于等待它结束再继续执行,就要用ShellExecuteEx,CreateProcess和CreateProcessAsUser。
    如果想让运行的程序不使用当前登录用户,就要用CreateProcessAsUser。     ____     ____
         \ p \   / g /
          \ l \_/ n /
           \ a   o /
            \ i s /
             \ n /
              \_/
      

  4.   

    plainsong(轻风) 说的够详细了吧