我有一个想法,但不知道如果实现,请高手帮忙。想法如下:
我的程序A.exe和B.exe,想在A中启动B程序,如果A未执行而直接打开B程序时不能执行,所以我想,如果A启动B时有一个参数传进去,这样B就可以根据这个参数判断是否应该执行了。这样的程序应该如何写呢?

解决方案 »

  1.   

    何必这么麻烦,在B程序中查找a程序的句柄,如果存在,说明A程序已经运行,如果不存在,B程序就退出,不就得了
      

  2.   

    类似代码
      if windows.findwindow('TForm1',nil) = 0 then
      begin
        if winprocs.FindWindow(nil, 'scktsrvr') = 0 then
          WinExec('scktsrvr.exe',SW_Hide);
         Application.Initialize;
         Application.CreateForm(TDataModule1, DataModule1);
         Application.CreateForm(TForm1, Form1);
         Application.Run;
      end
      

  3.   

    可以让B程序带参数运行,参数通过加密传递给B,B启动时把参数解密,正确的话才执行。
    不一定能用,我没试过
    ^_^
      

  4.   

    也可以在A运行时,在一个地方自动新建一个文件,B启动时检测是否存在这个文件,不存在就不启动。
    A退出时自动删除那个文件....
      

  5.   

    用com吧,把b做成dll文件
    然后用a来调用,又安全,又方便维护
    ------------------------------------
    心中多少的创伤,不可抵挡的空虚,卑躬屈膝的一生,今天只想冲出那枷锁,就要象狂人,金属者---金属狂人