1。如何从一个打开的程序中调用另一个小的exe程序?
2。我用winexec调用,该怎么来确保不重复调用,比如我用click事件调用后,再发生这个事件后不会再启动一个新的?

解决方案 »

  1.   

    procedure TForm3.Button5Click(Sender: TObject);
    var str:string;
    begin
     str:='C:\windows\*.exe';
     if FileExists(str) then
          ShellExecute(0,'Open',Pchar(str),'','',SW_SHOWnormal)
        else
          MessageBox(0, PChar(str+' 指定的文件不存在。'), '提示', MB_OK);
       end
    在你的单击事件中加入进程检测,如果检测到这个进程,就不运行
      

  2.   

    恩楼上的用的是shellexecute看明白了我不会进程检测哦。。 -o-"
      

  3.   

    通过窗口标题检测,查看是否运行,获取其句柄FindWidow获取成功就不要运行
      

  4.   

    我也是用到了ShellExecute,用它来在浏览器中打开一个页面。我也同样希望在整个程序中,只是对固定的一个浏览器窗口进行操作,而不是每次调用ShellExecute都会在新窗口中打开。请问这样如何实现。用findwindow可以么?我希望的是固定一个,其他的人照样可以打开IE。非常感谢