zoukankan      html  css  js  c++  java
  • Wndows外壳编程调用"打开方式..."对话框来打开文档

    例: 
    在use中加入ShellAPI单元 
     
    var 
       FilePath:string; 
       ShellReturn:integer; 
    begin 
       FilePath:=文件路径+文件名 
       if  FilePath<>''  then 
           begin 
               ShellReturn:=ShellExecute(Handle,PChar('Open'),PChar(filepath),nil,nil,1); 
               if  ShellReturn<=32  then 
                   case  ShellReturn  of 
                       0                                          :  messagebox(handle,'系统资源不足,文件打开失败!','失败',MB_OK+MB_ICONSTOP); 
                       SE_ERR_ASSOCINCOMPLETE:  messagebox(handle,'指定的文件名不符合windows规范','失败',MB_OK+MB_ICONERROR); 
                       SE_ERR_FNF                        :  messagebox(handle,'指定的文件没有找到','失败',MB_OK+MB_ICONERROR); 
                       SE_ERR_OOM                        :  messagebox(handle,'没有足够的内存完成操作,文件打开失败!','失败',MB_OK+MB_ICONSTOP); 
                       SE_ERR_PNF                        :  messagebox(handle,'指定的目录没有发现','失败',MB_OK+MB_ICONERROR); 
                       {当返回值表示该类型文件未在系统中注册时,调用系统'打开方式...'对话框} 
                       SE_ERR_NOASSOC                :  winexec(PChar('rundll32  shell32,OpenAs_RunDLL  '+FilePath),SW_SHOWDEFAULT); 
                       else 
                           messagebox(handle,'文件打开失败','失败',MB_OK+MB_ICONERROR); 
                   end; 
           end; 
    end; 
     
    在这里: 
    ShellExecute(Handle,PChar('Open'),PChar(filepath),nil,nil,1);用于直接打开已注册过的文件(也可以是网页,程序等) 
     
    winexec(PChar('rundll32  shell32,OpenAs_RunDLL  '+FilePath),SW_SHOWDEFAULT);用于调用系统的'打开方式...'对话框来打开该文件
  • 相关阅读:
    【IIS错误】IIS各种错误
    【IIS错误
    【C#】C#操作Excel文件(转)
    【C#】语音识别
    【IIS错误】未能加载文件或程序集“AAAAA”或它的某一个依赖项。试图加载格式不正确的程序。
    【Web前端】清除css、javascript及背景图在浏览器中的缓存
    【模态窗口-Modeldialog】提交请求时禁止在新窗口打开页面的处理方法
    第八周学习进度表
    梦断代码阅读笔记01
    第二阶段冲刺第七天
  • 原文地址:https://www.cnblogs.com/MaxWoods/p/337314.html
Copyright © 2011-2022 走看看