要实现的如下:
if 已经打开 then 关闭

解决方案 »

  1.   

    因为文本文件不是独占方式打开,所以你只能查找计事本的caption,如果是的话把他关闭
    用Findwindow查找所有的窗体,看看窗口有没有类似标题
    然后用sendmessage(Handle,WN_CLOSE,0,0);将他关闭
      

  2.   

    ljmanage(过客) 说的没错,如果是以独占方式打开的文件,如:DOC文件
    可以用下面的函数:
    function IsFileInUse(fName:string):boolean; 
    var
    HFileRes:HFILE;
    begin
      Result:=false;
      if not FileExists(fName) then exit;
      HFileRes := CreateFile(pchar(fName), GENERIC_READ or GENERIC_WRITE,0, nil,OPEN_EXISTING,FILE_ATTRIBUTE_NORMAL, 0);
      Result := (HFileRes = INVALID_HANDLE_VALUE);
      if not Result then CloseHandle(HFileRes);
    end;