我有一个EXE:A和一个EXE:B1、A使用普通方式无法打开。2、必须使用B打开A程序,如使用语句
ShellExecute(handle,'open','c:\a.exe -PASS','-s','',SW_SHOWNORMAL);
 
已此类似的附带约定的参数后才能打开。请问应该怎么写啊,小弟就还有25分,贡献了吧!求代码

解决方案 »

  1.   

    A的项目文件里,加上这句
    begin
      if ParamStr(1)<>'PASS' then ExitProcess(0);调用的时候
    ShellExecute(handle,'open','c:\a.exe PASS','','',SW_SHOWNORMAL);
    即可
      

  2.   

    楼主的是要对用户隐藏运行参数达到不让用户运行程序运行的目的,
    楼主好象有两个参数吧,一个-pass 一个-s,写A程序时在创建或初始化时加上检查程序参数
    if (UpCase(ParamStr(1)<>'-PASS')) and (UpCase(ParamStr(2)<>'-s')) then ExitProcess(0);
    这样运行时不分别带上-pass和-s参数程序是拒绝运行的。
    在B程序调用事件加上
    ShellExecute(handle,'open','c:\a.exe -PASS','-s','',SW_SHOWNORMAL);
    其实A程序参数你可以随便定义,只要不对用户公开这些参数,用户就无法运行它,只能通过你的程序来运行它。
      

  3.   

    还是用FindCmdLineSwitch吧。呵呵。
      

  4.   


    代码放在窗体初始化里还是*.dpr文件里。
    貌似打不开。
      

  5.   

    dpr里吧
    .