即:某EXE,双击它,不会运行 或 一运行马上关闭。
但如果由其他程序(也是DELPHI写的)来启动,用WINEXEC,或SHELLAPI之类的来启动它就可以正常执行。

解决方案 »

  1.   

    程序启动的时候检测一个特殊的命令行参数,不对就自己退出,这个参数可以包括不可打印字符,直接在cmd或者command中不容易输入。
      

  2.   

    可能该EXE运行需要带参数运行,或者安排了一些内存映射内容的检查。必须通过另一个程序带合法参数进去。
      

  3.   

    加上启动需要某个特殊的命令行参数,没有就退出。比如说“-abcd”这样的参数。
      

  4.   

    最简单的是
    if CmdLine[1]="abcd" then
    但是这个容易出问题。
      

  5.   

    做成 DLL 最好了真的只能由第三方程序来启动的  真的。。真的。
      

  6.   

    好久没使弄错了
    if ParamStr[1]="abcd" then
      

  7.   

    检测cmdline也可以,只是cmdline包括了程序路径和程序名,之后才是参数(全部)。
      

  8.   

    paramcount 判断参数数量
    paramstr(1) 取第一个参数
    如果没有参数就关闭 写在工程文件中最好了
      

  9.   

    启动程序:
    ShellExecute(handle, 'open','c:\1.exe','1 2',nil, SW_SHOWNORMAL);在被启动的程序的Create事件,判断参数
    if paramstr(1)<>1 then
      halt;paramstr(2); //2
      

  10.   

    我研究过这个问题
    DELPHI和C#都有现成的实例
    可以查看我的帖子