如:我想知道某個Excel文件現在的屬性(編輯者是誰,誰閱讀過,在什麼時間等),就象Windows中右鍵單擊某個文件顯示的屬性框一樣!!謝謝!!

解决方案 »

  1.   

    1. 在interface下的uses中引用filectrl单元2. 首先取文件属性
    var
            attr     : integer;
            filename : string;
    begin
            filename := 'myfile';
            attr     := FileGetAttr(filename);
    end;3. 设置文件属性(如设置归档属性 -> faArchive )
       
    attr := attr or faArchive;    //如要去掉某一属性,则如下句    attr := attr and (not faArchive);    //保留其它属性    if FileSetAttr(filename, attr)=0 then        //成功代码    else        //失败代码4. 附文件属性常量
        Constant Value Description
        faReadOnly $00000001 Read-only files 只读文件
        faHidden $00000002 Hidden files 隐藏文件
        faSysFile $00000004 System files 系统文件
        faVolumeID $00000008 Volume ID files 卷标文件
        faDirectory $00000010 Directory files 目录
        faArchive $00000020 Archive files 归档文件
        faAnyFile $0000003F Any file 任意文件
    这个比较简单,达不到你的要求
    用下面的方法来调用windows的文件属性对话框吧
    var SEI:PSHELLEXECUTEINFOA;
    begin
       getmem(sei,sizeof(sei));
       With SEI^ do
       begin
         cbSize:= sizeof(SEI<font color=red><b>^</b></font>);
         fMask:= SEE_MASK_NOCLOSEPROCESS Or SEE_MASK_INVOKEIDLIST Or SEE_MASK_FLAG_NO_UI;
         wnd:=handle;
         lpVerb:= 'properties';
         lpFile:= 'd:\download\doc.zip';  //你自己的文件名
         lpParameters:=nil;
         lpDirectory:=nil;
         nShow:=0;
         hInstApp:=hInstance;
         lpIDList:=nil;
     End;
     ShellExecuteEX(SEI);
     freemem(sei);