用什么可以启动带参数的程序,参数为<-s|e><-y|n><image directory>等,谢谢各位高手!

解决方案 »

  1.   

    delphi调用cmd的两种方法,可以在后面直接加参数。
    1
    var
    s:string;
    begin
    s:='cmd.exe /c '+edit1.Text+' >c:\1.txt'; //将结果保存到c:\1.txt
    winexec(pchar(s),sw_hide);
    sleep(2000);
    memo1.Lines.LoadFromFile('c:\1.txt');
    2
    shellexecute(handle,nil,'cmd.exe',pchar(form2.edit1.text),nil,sw_hide);
    WinExec主要运行EXE文件。如:WinExec(’Notepad.exe Readme.txt’, SW_SHOW);
    ShellExecute不仅可以运行EXE文件,也可以运行已经关联的文件。  
    首先必须引用shellapi.pas单元:uses ShellAPI;ShellExecute函数原型及参数如下:
    function ShellExecute(hWnd: HWND; Operation, FileName, Parameters,Directory: PChar; ShowCmd: Integer): HINST; stdcall;
      

  2.   

    推荐使用 Winexec ,简单明了
      

  3.   


    ShellExecute(Handle,'open',PChar(程序名),'a b c',nil,SW_NORMAL);
    其中'a b c'就是参数,每个参数间用空格分开
      

  4.   

    是上面软件还是批处理
    如果是Bat我这有现成的函数 还可以等待执行结束
      

  5.   

    如果你是想从程序里读参数:
    ParamCount 参数个数
    ParamStr(0) 第一个参数
    ParamStr(1) 第二个参数如果是用程序运行其他有参数的程序:
    ShellExecute

    Winexec
      

  6.   

    获取
    ParamStr(0)
    ParamStr(1)
    ParamStr(2)
    ...
    ParamStr(n)
      

  7.   

    winexec ,  ParamStr(1)
    列如:winexec(pchar('F:\p.exe  XXXX')),sw_show),在p.exe被创建时,XXXX参数就会传给ParamStr(1)的