并且该外部文档最多只能被打开一次,在线等,急啊,非常感谢!

解决方案 »

  1.   

    说明白点吧,是这样的:一般程序都有在线帮助的,即按下F1的时候会去打开帮助文件(chm或pdf格式等等),如果该帮助文件没有打开则会调用外部程序打开,否则让该帮助文件在最顶层显示即可;而且当我的程序退出时,要先关闭该帮助文档(如果该帮助文档被打开),就是这样的需求,该如何用VC实现?谢谢!
      

  2.   

    void xxx::OnDestroy()
    {
       if(帮助打开)
       {
         关闭;
       }
       if(打开的文件)
       {
         关闭;
       }
       .......
       xxx::OnDestroy();
    }OnSysCommand就不用了,我是自己做了按钮代替x,你的可以不用,抱歉哈
      

  3.   

    用CreateProcess打开文件,记住进程ID,退出前检查一下,如果该进程还在,就TerminateProcess.
      

  4.   

    HWND hWnd = ::FindWindow(NULL,"PDF文件名");//找到可执行程序的句柄
    //注意文件名不加后缀.*
    ::SendMessage(hWnd,WM_CLOSE,NULL,NULL);//发送关闭命令
    就会关掉你正在运行的程序
      

  5.   

    sxcong(sxcong) ( ) 信誉:100  2007-7-6 16:35:54  得分: 0  
     
     
       
    用CreateProcess打开文件,记住进程ID,退出前检查一下,如果该进程还在,就TerminateProcess.